(
browser,
self_username,
username,
compare_by,
compare_track,
relationship_data,
live_match,
store_locally,
print_out,
logger,
logfolder,
)
| 617 | |
| 618 | |
| 619 | def get_unfollowers( |
| 620 | browser, |
| 621 | self_username, |
| 622 | username, |
| 623 | compare_by, |
| 624 | compare_track, |
| 625 | relationship_data, |
| 626 | live_match, |
| 627 | store_locally, |
| 628 | print_out, |
| 629 | logger, |
| 630 | logfolder, |
| 631 | ): |
| 632 | if compare_by not in ["latest", "day", "month", "year", "earliest"]: |
| 633 | logger.info( |
| 634 | "Please choose a valid compare point to pick Unfollowers " |
| 635 | "~leaving out of an invalid value" |
| 636 | ) |
| 637 | return [], [] |
| 638 | |
| 639 | elif compare_track not in ["first", "median", "last"]: |
| 640 | logger.info( |
| 641 | "Please choose a valid compare track to pick Unfollowers " |
| 642 | "~leaving out of an invalid value" |
| 643 | ) |
| 644 | return [], [] |
| 645 | |
| 646 | elif username is None or not isinstance(username, str): |
| 647 | logger.info( |
| 648 | "Please enter a username to pick Unfollowers ~leaving out of an " |
| 649 | "invalid value" |
| 650 | ) |
| 651 | return [], [] |
| 652 | |
| 653 | prior_followers, selected_filename = load_followers_data( |
| 654 | username, compare_by, compare_track, logger, logfolder |
| 655 | ) |
| 656 | |
| 657 | if not prior_followers and selected_filename is None: |
| 658 | logger.info( |
| 659 | "Generate `Followers` data to find Unfollowers in future! " |
| 660 | "~couldn't pick Unfollowers" |
| 661 | ) |
| 662 | return [], [] |
| 663 | |
| 664 | current_followers = get_followers( |
| 665 | browser, |
| 666 | self_username, |
| 667 | username, |
| 668 | "full", |
| 669 | relationship_data, |
| 670 | live_match, |
| 671 | store_locally, |
| 672 | logger, |
| 673 | logfolder, |
| 674 | ) |
| 675 | |
| 676 | # if current_followers is False we have targeted a private account that we don't follow |
no test coverage detected