From c7fe28d5586c0a14ad680e9f062b917bf3a6b404 Mon Sep 17 00:00:00 2001 From: Fulgen301 Date: Fri, 18 Aug 2017 17:59:35 +0200 Subject: * Updater now uses absolute addresses * Change log behavior --- pycrctrl.py | 70 ++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/pycrctrl.py b/pycrctrl.py index 9361d61..2f5d381 100644 --- a/pycrctrl.py +++ b/pycrctrl.py @@ -104,33 +104,33 @@ class Updater(object): def checkForUpdates(self): while True: try: - site = urllib.request.urlopen(self.parent.config["Addresses"]["snapshotList"]).read().decode("utf-8").split(self.parent.config["Updater"]["SplitString"]) + site = urllib.request.urlopen("http://openclonk.org/nightly-builds").read().decode("utf-8").split(" None: + if self.log: + return + self.log = logging.getLogger(type(self).__name__) self.log.setLevel(getattr(logging, self.config["Logging"]["Level"], logging.INFO)) - ch = logging.FileHandler( - os.path.join(self.path, self.config["Logging"]["File"]) - ) - ch.setLevel(getattr(logging, self.config["Logging"]["Level"], logging.INFO)) - ch.setFormatter(logging.Formatter("[%(asctime)s] %(levelname)s: %(message)s")) - - self.log.addHandler(ch) + if not hasattr(self.log, "handler_set"): + ch = logging.FileHandler( + os.path.join(self.path, self.config["Logging"]["File"]) + ) + ch.setLevel(getattr(logging, self.config["Logging"]["Level"], logging.INFO)) + ch.setFormatter(logging.Formatter("[%(asctime)s] %(levelname)s: %(message)s")) + + self.log.addHandler(ch) self.log.info("PyCRCtrl started.") def loadConfigFile(self, config) -> None: @@ -314,6 +319,7 @@ Snapshot=openclonk-snapshot-(.*)-(.*)-{}-{}-.""" encoding=self.config["Clonk"]["Encoding"] ) self.state = "Lobby" + self.log.info("Scenario: {}".format(self.scenario)) self.readServerOutput() if self.config["Clonk"].getboolean("Autohost") == False: self.thread_started = False @@ -354,22 +360,24 @@ Snapshot=openclonk-snapshot-(.*)-(.*)-{}-{}-.""" cmd = part.group(3).split(" ", 1) found = False x = None - if len(cmd) > 0: - for key in self.commands.keys(): - if key == cmd[0].splitlines()[0]: - found = True - try: - x = self.commands[key](cmd[1].split(" "), user=part.group(1)) - except IndexError: - x = self.commands[key](user=part.group(1)) + try: + if len(cmd) > 0: + key = cmd[0].splitlines()[0] + if not hasattr(self, key): + raise RuntimeError + try: + x = getattr(self, key)(cmd[1].split(" "), user=part.group(1)) + except IndexError: + x = getattr(self, key)(user=part.group(1)) break - if not found: + except RuntimeError: self.writeToServer('Unbekannter Befehl: "' + part.group(2) + '"!') if x: if type(x) == tuple and x[1] != "": self.writeToServer(x[1]) del x + if re.match(self.config["RegExps"]["LobbyStart"], output): self.state = "Lädt" -- cgit v1.2.3-54-g00ecf