diff --git a/damastodon.py b/damastodon.py index 981ca2f..f01642c 100755 --- a/damastodon.py +++ b/damastodon.py @@ -9,6 +9,7 @@ import os import time import sys import re +import logging #configuration server api_url = sys.argv[1] @@ -26,6 +27,8 @@ black_norm="◾ " black_knight="⚫ " empty="🟦 " +#logging config +logging.basicConfig(filename="/tmp/dama.log",level=logging.DEBUG) def cleanHTML(raw): cleanText = re.sub(CLEANR, '',raw) @@ -73,6 +76,7 @@ def check_message(notification): start = pickle.load(f) except FileNotFoundError: mastodon.status_post("Hello @"+account+" \n unfortunately, your savegame is corrupted or missing",visibility="direct") #The file has moved or corrupted + logging.warning("%s file not found",account) return if start != "WAIT": mastodon.status_post("Hello @"+account+" \n your request is not valid",visibility="direct") #The user that challenged us is playing a game with someone else @@ -101,7 +105,13 @@ def check_message(notification): return else: #We are in a game, so movements are parsed and lobby commands are disabled with open(save_position+account,"rb") as f: - start = pickle.load(f) + try: + start = pickle.load(f) + except EOFError: # Something went very wrong, file is corrupt? + mastodon.status_post("Hello @"+account+" \n unfortunately, your savegame is corrupted or missing",visibility="direct") #The file has been moved or is corrupted + os.remove(save_position+account) + logging.warning("%s file corrupted",account) + return if start: #The game is started, load other parameters black = pickle.load(f) white = pickle.load(f) @@ -155,7 +165,7 @@ def check_message(notification): if __name__ == "__main__": if api_url[:4] != "http": - print("Invalid address.") + logging.error("Invalid address") quit() mastodon = login.login(api_url) while True: diff --git a/login.py b/login.py index b816ea6..1f857ac 100644 --- a/login.py +++ b/login.py @@ -1,8 +1,12 @@ from mastodon import Mastodon +import os + +fileDir = os.path.dirname(os.path.abspath(__file__)) +fileDir = fileDir +"/" def login(url): mastodon = Mastodon( - access_token = "DAMA.SECRET", + access_token = fileDir+"DAMA.SECRET", api_base_url = url ) return mastodon