Advertisement
4epB9Ik

Untitled

Nov 28th, 2023
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. import os
  2. import requests
  3. from time import sleep
  4. from datetime import datetime, timedelta
  5.  
  6.  
  7. def to_datetime(date):
  8. return datetime.strptime(date, '%d-%m-%Y')
  9.  
  10.  
  11. def range_days(date_1, date_2):
  12. return range((to_datetime(date_2)-to_datetime(date_1)).days+1)
  13.  
  14.  
  15. def date_range_str(date_1, date_2):
  16. return [(to_datetime(date_1) + timedelta(days=day)).strftime('%d-%m-%Y') for day in range_days(date_1, date_2)]
  17.  
  18.  
  19. def date_sort(dates, txt=False):
  20. if txt:
  21. dates_unix = [datetime.strptime(date, '%d-%m-%Y.txt') for date in dates if len(date.split('-')) == 3]
  22. else:
  23. dates_unix = [datetime.strptime(date, '%d-%m-%Y') for date in dates if len(date.split('-')) == 3]
  24. dates_unix.sort()
  25. return [date.strftime('%d-%m-%Y') for date in dates_unix]
  26.  
  27. def get_log_content(date):
  28. return open(f'{folder}/{date}.txt', 'r', encoding='utf-8').readlines()
  29.  
  30.  
  31. if __name__ == '__main__':
  32. folder = '../public_logs'
  33. server_url = 'https://calibri1ab.xyz:2053/api/minecraftLogs/tmrpg'
  34. secret_key = '}*THi~(PIO}DgV.s!f2J,"^PHP~69`2LglIXAPgd4J#n5Y!eVA[(G|hC`\_(,t{d'
  35. while True:
  36. try:
  37. response = requests.get(server_url)
  38. if response.status_code == 200:
  39. site_logs = date_sort(response.json())
  40. server_logs = date_range_str(site_logs[-1], date_sort(os.listdir(folder), txt=True)[-1])
  41. for date in server_logs:
  42. response = requests.post(server_url, data = {
  43. 'logs': get_log_content(date),
  44. 'key': secret_key,
  45. 'date': date
  46.  
  47. })
  48. print(response.status_code, response.text)
  49. sleep_time = int((tomorrow.replace(hour=0, minute=5) - now).total_seconds())
  50. print(f'Сон на {sleep_time} секунд')
  51. sleep(sleep_time)
  52. except:
  53. sleep(600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement