From 2ab8dbd430f31ce2bcc13a8d2124045c09db00b5 Mon Sep 17 00:00:00 2001 From: Lasse Date: Fri, 26 Mar 2021 17:21:28 +0100 Subject: [PATCH] Added mode to user and changes when blocked --- facebook/__main__.py | 111 +++++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 52 deletions(-) diff --git a/facebook/__main__.py b/facebook/__main__.py index 28db156..1539d12 100644 --- a/facebook/__main__.py +++ b/facebook/__main__.py @@ -5,7 +5,7 @@ from sys import argv, exit from time import sleep import arangodb -from arangodb import db, write_report, backup +from arangodb import db, write_report, backup, report_blocked from classes import Profile, User from helpers import sleep_, write_error from scrapers import profile_picture_reactions @@ -22,10 +22,22 @@ if __name__ == "__main__": argv = argv[1:] try: opts, args = getopt(argv, "bm:u:o:", ['backup=',"mode=", "users=", "other="]) + for o, a in opts: + # mode_nr används för hur ofta profile ska roteras + if o in ["-m", "--mode"]: + mode = a + if mode == 'single': + mode_nr = 1.7 + elif mode == 'few': + mode_nr = 1.4 + else: + mode = 'all' + mode_nr = 1 + for o, a in opts: if o in ["-u", "--user"]: users = [ - User(str(i).strip()) + User(str(i).strip(), mode) for i in [(str(i).strip()) for i in a.split(",")] ] if o in ["-o", "--other"]: @@ -35,26 +47,16 @@ if __name__ == "__main__": backup(db) sleep(21600) - # mode_nr används för hur ofta profile ska roteras - if o in ["-m", "--mode"]: - mode = a - if mode == 'single': - mode_nr = 1,7 - elif mode == 'few': - mode_nr = 1,4 - else: - mode_nr = 1 - if "users" not in globals(): users = [ - User(str(i).strip()) + User(str(i).strip(), mode) for i in input("Vem/vilka vill du kolla bilder för? ").split(",") ] except GetoptError: users = [ - User(str(i).strip()) + User(str(i).strip(), mode) for i in input("Vem/vilka vill du kolla bilder för? ").split(",") ] @@ -125,48 +127,13 @@ if __name__ == "__main__": count_friends = 0 for friend in friends_unchecked: count_friends += 1 - user = User(str(friend)) + user = User(str(friend), mode) sleep_(2) + try: profile_picture_reactions( profile, user, all_pictures, mode=mode ) - - if profile.blocked == True: - # Ta bort profilen ur databasen - arangodb.remove_profile(profile.doc["_key"]) - # Ta bort från listan på fb-profiler som används - profiles.remove(profile) - # Försök lägga till en ny fb-profil (om det finns en skapad och ledig i databasen) - try: - profiles[profile_nr] = Profile(new=True) - print("Laddat ny profil:", profiles[profile_nr].name) - sleep(3) - except e: - print("Det behövs nya profiler...") - for s in range(0, 1600 / len(profiles)): - print(f"Sover {600-s} sekunder till... ", end="\r") - profile_nr += 1 - print(f"Försöker med {profiles[profile_nr].name}.") - - else: - print("Klar med", user.username, "\n") - - # Rotera fb-profiler - if count_friends > 5 * mode_nr: - if random.randrange(0, 2, 1) == 1: - profile_nr += 1 - count_friends = 0 - print("Växlar till", profiles[profile_nr].name) - elif count_friends > 9 * mode_nr: - profile_nr += 1 - count_friends = 0 - print("Växlar till", profiles[profile_nr].name) - - if profile_nr > len(profiles) - 1: - profile_nr = 0 - profile = profiles[profile_nr] - except Exception as e: # Fel4 write_error( 4, @@ -177,7 +144,47 @@ if __name__ == "__main__": ) print("\nFel: ", str(user.username), "\n") sleep_(15) - pass + + if profile.blocked == False: + print("Klar med", user.username, "\n") + + # Rotera fb-profiler + if count_friends > 5 * mode_nr: + if random.randrange(0, 2, 1) == 1: + profile_nr += 1 + count_friends = 0 + print("Växlar till", profiles[profile_nr].name) + elif count_friends > 9 * mode_nr: + profile_nr += 1 + count_friends = 0 + print("Växlar till", profiles[profile_nr].name) + + if profile_nr > len(profiles) - 1: + profile_nr = 0 + + elif profile.blocked == True: + # Ta bort profilen ur databasen + report_blocked(profile, users) + arangodb.remove_profile(profile.doc) + # Ta bort från listan på fb-profiler som används + profiles.remove(profile) + # Försök lägga till en ny fb-profil (om det finns en skapad och ledig i databasen) + try: + profiles[profile_nr] = Profile(new=True) + print("Laddat ny profil:", profiles[profile_nr].name) + sleep(3) + except e: + print("Det behövs nya profiler...") + if len(profiles) == 0: + break + for s in range(0, 1600 / len(profiles)): + print(f"Sover {600-s} sekunder till... ", end="\r") + profile_nr += 1 + print(f"Försöker med {profiles[profile_nr].name}.") + + profile = profiles[profile_nr] + + except: pass