Mode debug messages

This commit is contained in:
Frisk 2018-07-05 13:45:01 +02:00
parent d9a3ec753a
commit 64bf3b7e9e
No known key found for this signature in database
GPG key ID: 0E9A7D3C0A01586C

View file

@ -603,24 +603,27 @@ class recent_changes_class(object):
file_id = 999999999 file_id = 999999999
else: else:
file_id = 999999999 #such value won't cause trouble, and it will make sure no refetch happens file_id = 999999999 #such value won't cause trouble, and it will make sure no refetch happens
def add_cache(self, change): def add_cache(self, change):
self.ids.append(change["rcid"]) self.ids.append(change["rcid"])
#self.recent_id = change["rcid"] #self.recent_id = change["rcid"]
if len(self.ids) > settings["limit"]+5: if len(self.ids) > settings["limit"]+5:
self.ids.pop(0) self.ids.pop(0)
def fetch(self, amount=settings["limit"]): def fetch(self, amount=settings["limit"]):
if self.unsent_messages: if self.unsent_messages:
logging.debug(self.unsent_messages) logging.info("{} messages waiting to be delivered to Discord due to Discord throwing errors/no connection to Discord servers.".format(len(self.unsent_messages)))
for num, item in enumerate(self.unsent_messages): for num, item in enumerate(self.unsent_messages):
sent = False logging.debug("Trying to send a message to Discord from the queue with id of {} and content {}".format(str(num), str(item)))
logging.debug(str(num) + str(item))
if send_to_discord_webhook(item) < 2: if send_to_discord_webhook(item) < 2:
sent = True logging.debug("Sending message succeeded")
time.sleep(2.5) time.sleep(2.5)
else: else:
logging.debug("Sending message failed")
break break
else: else:
self.unsent_messages = [] self.unsent_messages = []
logging.debug("Queue emptied, all messages delivered")
self.unsent_messages = self.unsent_messages[num:] self.unsent_messages = self.unsent_messages[num:]
logging.debug(self.unsent_messages) logging.debug(self.unsent_messages)
last_check = self.fetch_changes(amount=amount) last_check = self.fetch_changes(amount=amount)
@ -630,6 +633,7 @@ class recent_changes_class(object):
with open("lastchange.txt", "w") as record: with open("lastchange.txt", "w") as record:
record.write(str(self.file_id)) record.write(str(self.file_id))
logging.debug("Most recent rcid is: {}".format(self.recent_id)) logging.debug("Most recent rcid is: {}".format(self.recent_id))
def fetch_changes(self, amount, clean=False): def fetch_changes(self, amount, clean=False):
if len(self.ids) == 0: if len(self.ids) == 0:
logging.debug("ids is empty, triggering clean fetch") logging.debug("ids is empty, triggering clean fetch")
@ -661,6 +665,7 @@ class recent_changes_class(object):
continue continue
first_pass(change) first_pass(change)
return change["rcid"] return change["rcid"]
def safe_request(self, url): def safe_request(self, url):
try: try:
request = requests.get(url, timeout=10, headers=settings["header"]) request = requests.get(url, timeout=10, headers=settings["header"])
@ -674,6 +679,7 @@ class recent_changes_class(object):
return None return None
else: else:
return request return request
def check_connection(self, looped=False): def check_connection(self, looped=False):
online = 0 online = 0
for website in ["https://google.com", "https://instagram.com", "https://steamcommunity.com"]: for website in ["https://google.com", "https://instagram.com", "https://steamcommunity.com"]:
@ -694,6 +700,7 @@ class recent_changes_class(object):
time.sleep(10) time.sleep(10)
return False return False
return True return True
def downtime_controller(self): def downtime_controller(self):
if settings["show_updown_messages"] == False: if settings["show_updown_messages"] == False:
return return
@ -703,8 +710,10 @@ class recent_changes_class(object):
if(time.time() - self.last_downtime)>1800 and self.check_connection(): #check if last downtime happened within 30 minutes, if yes, don't send a message if(time.time() - self.last_downtime)>1800 and self.check_connection(): #check if last downtime happened within 30 minutes, if yes, don't send a message
send(_("{wiki} seems to be down or unreachable.").format(wiki=settings["wikiname"]), _("Connection status"), settings["avatars"]["connection_failed"]) send(_("{wiki} seems to be down or unreachable.").format(wiki=settings["wikiname"]), _("Connection status"), settings["avatars"]["connection_failed"])
self.last_downtime = time.time() self.last_downtime = time.time()
def clear_cache(self): def clear_cache(self):
self.map_ips = {} self.map_ips = {}
def update_tags(self): def update_tags(self):
tags_read = safe_read(self.safe_request("https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=tags&tgprop=name%7Cdisplayname".format(wiki=settings["wiki"])), "query", "tags") tags_read = safe_read(self.safe_request("https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=tags&tgprop=name%7Cdisplayname".format(wiki=settings["wiki"])), "query", "tags")
if tags_read: if tags_read: