From 5c111631804929f3e020ec3248863f5033b424e5 Mon Sep 17 00:00:00 2001 From: Wesley Kerfoot Date: Fri, 24 May 2019 21:02:52 -0400 Subject: [PATCH] Integrate changes that allow selecting year --- deletefb/deletefb.py | 14 ++++++++++++-- deletefb/tools/login.py | 2 -- deletefb/tools/wall.py | 10 +++++++++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/deletefb/deletefb.py b/deletefb/deletefb.py index b6f3715..d3d3ddb 100755 --- a/deletefb/deletefb.py +++ b/deletefb/deletefb.py @@ -53,6 +53,15 @@ def run_delete(): help="Run browser in headless mode (no gui)" ) + parser.add_argument( + "-Y", + "--year", + required=False, + dest="year", + type=str, + help="The year(s) you want posts deleted." + ) + args = parser.parse_args() args_user_password = args.password or getpass.getpass('Enter your password: ') @@ -60,12 +69,13 @@ def run_delete(): driver = login( user_email_address=args.email, user_password=args_user_password, - user_profile_url=args.profile_url, is_headless=args.is_headless, two_factor_token=args.two_factor_token ) - wall.delete_posts(driver) + wall.delete_posts(driver, + args.profile_url, + year=args.year) if __name__ == "__main__": run_delete() diff --git a/deletefb/tools/login.py b/deletefb/tools/login.py index 38aa5bf..012253d 100644 --- a/deletefb/tools/login.py +++ b/deletefb/tools/login.py @@ -5,7 +5,6 @@ from seleniumrequests import Chrome def login(user_email_address, user_password, - user_profile_url, is_headless, two_factor_token): """ @@ -66,5 +65,4 @@ def login(user_email_address, time.sleep(20) print("Continuing execution") - driver.get(user_profile_url) return driver diff --git a/deletefb/tools/wall.py b/deletefb/tools/wall.py index 3005dd1..0017a4c 100644 --- a/deletefb/tools/wall.py +++ b/deletefb/tools/wall.py @@ -5,10 +5,18 @@ from .common import SELENIUM_EXCEPTIONS MAX_POSTS = 5000 -def delete_posts(driver): +def delete_posts(driver, + user_profile_url, + year=None): """ Deletes or hides all posts from the wall """ + + if not year is None: + user_profile_url = "{0}/timeline?year={1}".format(user_profile_url, year) + + driver.get(user_profile_url) + for _ in range(MAX_POSTS): post_button_sel = "_4xev"