Added try/except so profiells are always released

pull/5/head
Lasse Edfast 5 years ago
parent 6b2a802295
commit 9ad3b3513c
  1. 177
      facebook/__main__.py

@ -93,93 +93,96 @@ if __name__ == "__main__":
print("Börjar med profilen", profile.name) print("Börjar med profilen", profile.name)
# Gå igenom de användare som efterfrågats # Gå igenom de användare som efterfrågats
while True: try:
for user in users: while True:
# Set för kollade bilder och kollade medlemmar for user in users:
all_pictures = set([doc["_key"] for doc in db.collection("pictures").all()]) # Set för kollade bilder och kollade medlemmar
all_pictures_start = all_pictures.copy() all_pictures = set([doc["_key"] for doc in db.collection("pictures").all()])
members_checked = arangodb.checked_members() all_pictures_start = all_pictures.copy()
members_checked = arangodb.checked_members()
if user.username not in members_checked:# Hämta reaktioner för den första användaren LÄGG TILL NOT IN MEMBERS_CHECKED
try: if user.username not in members_checked:# Hämta reaktioner för den första användaren LÄGG TILL NOT IN MEMBERS_CHECKED
profile_picture_reactions(profile, user, all_pictures, first_user=True, mode=mode) try:
except: profile_picture_reactions(profile, user, all_pictures, first_user=True, mode=mode)
print(traceback.format_exc()) except:
if len(users) == 1: print(traceback.format_exc())
for profile in profiles: if len(users) == 1:
profile.unused() for profile in profiles:
friends = arangodb.friends_of_user(user.username) profile.unused()
friends_unchecked = list(set(friends) - set(members_checked)) friends = arangodb.friends_of_user(user.username)
# Här följer cookien med så att vi fortfarnade är inloggade friends_unchecked = list(set(friends) - set(members_checked))
print("\nKlar med", user.username, "\n") # Här följer cookien med så att vi fortfarnade är inloggade
print("\nKlar med", user.username, "\n")
print("Vänner som reagerat:", len(friends))
print("Vänner att kolla:") print("Vänner som reagerat:", len(friends))
print("Vänner att kolla:")
for friend in friends_unchecked:
print(friend) for friend in friends_unchecked:
print() print(friend)
print()
# Hämta reaktioner för users vänner (som reagerat)
count_friends = 0 # Hämta reaktioner för users vänner (som reagerat)
for friend in friends_unchecked: count_friends = 0
count_friends += 1 for friend in friends_unchecked:
user = User(str(friend)) count_friends += 1
sleep_(2) user = User(str(friend))
try: sleep_(2)
profile_picture_reactions( try:
profile, user, all_pictures, mode=mode profile_picture_reactions(
) profile, user, all_pictures, mode=mode
)
if profile.blocked == True:
# Ta bort profilen ur databasen if profile.blocked == True:
arangodb.remove_profile(profile.doc["_key"]) # Ta bort profilen ur databasen
# Ta bort från listan på fb-profiler som används arangodb.remove_profile(profile.doc["_key"])
profiles.remove(profile) # Ta bort från listan på fb-profiler som används
# Försök lägga till en ny fb-profil (om det finns en skapad och ledig i databasen) profiles.remove(profile)
try: # Försök lägga till en ny fb-profil (om det finns en skapad och ledig i databasen)
profiles[profile_nr] = Profile(new=True) try:
print("Laddat ny profil:", profiles[profile_nr].name) profiles[profile_nr] = Profile(new=True)
sleep(3) print("Laddat ny profil:", profiles[profile_nr].name)
except e: sleep(3)
print("Det behövs nya profiler...") except e:
for s in range(0, 1600 / len(profiles)): print("Det behövs nya profiler...")
print(f"Sover {600-s} sekunder till... ", end="\r") for s in range(0, 1600 / len(profiles)):
profile_nr += 1 print(f"Sover {600-s} sekunder till... ", end="\r")
print(f"Försöker med {profiles[profile_nr].name}.") profile_nr += 1
print(f"Försöker med {profiles[profile_nr].name}.")
else:
print("Klar med", user.username, "\n") else:
print("Klar med", user.username, "\n")
# Rotera fb-profiler
if count_friends > 5 * mode_nr: # Rotera fb-profiler
if random.randrange(0, 2, 1) == 1: 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 profile_nr += 1
count_friends = 0 count_friends = 0
print("Växlar till", profiles[profile_nr].name) print("Växlar till", profiles[profile_nr].name)
elif count_friends > 9 * mode_nr:
profile_nr += 1 if profile_nr > len(profiles) - 1:
count_friends = 0 profile_nr = 0
print("Växlar till", profiles[profile_nr].name) profile = profiles[profile_nr]
if profile_nr > len(profiles) - 1: except Exception as e: # Fel4
profile_nr = 0 write_error(
profile = profiles[profile_nr] 4,
e=e,
except Exception as e: # Fel4 user=user.username,
write_error( traceback=traceback.format_exc(),
4, soup=profile.viewing(),
e=e, )
user=user.username, print("\nFel: ", str(user.username), "\n")
traceback=traceback.format_exc(), sleep_(15)
soup=profile.viewing(), pass
) except:
print("\nFel: ", str(user.username), "\n") pass
sleep_(15)
pass # Gör profilerna oanvända
for profile in profiles:
# Ladda in nya användare att kolla profile.unused()
for profile in profiles: write_report(users, list(all_pictures.difference(all_pictures_start)))
profile.unused() exit()
write_report(users, list(all_pictures.difference(all_pictures_start)))
exit()
Loading…
Cancel
Save