zeroToots.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import json
  2. import datetime
  3. import time
  4. from json import JSONEncoder
  5. from credentials import user, password
  6. # subclass JSONEncoder
  7. class DateTimeEncoder(JSONEncoder):
  8. #Override the default method
  9. def default(self, obj):
  10. if isinstance(obj, (datetime.date, datetime.datetime)):
  11. return obj.isoformat()
  12. #employeeJSONData = json.dumps(employee, indent=4, cls=DateTimeEncoder)
  13. from mastodon import *
  14. Mastodon.create_app(
  15. '0toots',
  16. api_base_url = 'https://mastodon.bida.im',
  17. to_file = 'clientcred.secret'
  18. )
  19. mastodon = Mastodon(
  20. client_id = 'clientcred.secret',
  21. api_base_url = 'https://mastodon.bida.im'
  22. )
  23. mastodon.log_in(
  24. user,
  25. password,
  26. to_file = 'clientcred.secret'
  27. )
  28. def zeroToots():
  29. for i in range(237265, 1, -1):
  30. try:
  31. account=mastodon.account(i)
  32. if account['id'] != None and not "@" in account['acct']:
  33. if account['statuses_count'] == 0:
  34. userJson = {
  35. 'id' : account['id'],
  36. 'acct' : account['acct'],
  37. 'username' : account['username'],
  38. 'created_at' : account['created_at'],
  39. 'followers_count' : account['followers_count'],
  40. 'following_count' : account['following_count'],
  41. }
  42. with open("user.0toot.txt", "a") as userFile:
  43. userFile.write((str(userJson)+ ", \n"))
  44. print(account['id'])
  45. time.sleep(2)
  46. except NameError as e:
  47. print("Oops!", e.__class__, "occurred.")
  48. pass
  49. except MastodonNotFoundError as e:
  50. print("Oops!", e.__class__, "occurred.")
  51. pass
  52. except MastodonAPIError as e:
  53. print("Oops!", e.__class__, "occurred.")
  54. pass
  55. zeroToots()