From dbc60d2e30d2a80c2b8c879548cbd1887f95cfa6 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Sun, 3 Feb 2019 04:29:42 +0100 Subject: [PATCH] fixed gamechannel not being added --- modules/autochannel.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/autochannel.py b/modules/autochannel.py index fa8d21c..e2afa8d 100644 --- a/modules/autochannel.py +++ b/modules/autochannel.py @@ -4,6 +4,7 @@ import random from threading import Timer import requests + from mumo_module import (commaSeperatedIntegers, MumoModule) from tools.Utils import find_create_channel, get_empty_channels, get_subchannels, get_user_for_channel @@ -64,7 +65,7 @@ class autochannel(MumoModule): for server in self.manager().getMeta().getBootedServers(): if server.id in self.servertimer: - self.servertimer[server.id].stop() + self.servertimer[server.id].cancel() self.servertimer[server.id] = Timer(self.timer_interval, self.handle_timer, [server]) self.servertimer[server.id].start() @@ -78,12 +79,12 @@ class autochannel(MumoModule): def update_timer(self): r = requests.get("http://steamspy.com/api.php?request=top100in2weeks") - if r.status_code == 200: + if r.status_code == 200 and r.json(): self.top_list = r.json() self.log().info("Reloaded steam top100") Timer(60 * 60, self.update_timer).start() else: - self.log().warn("Failed to reload top100 - HTTP " + r.status_code) + self.log().warn("Failed to reload top100 - HTTP {} (len={})".format(r.status_code, len(r.json()))) Timer(10, self.update_timer).start() def disconnected(self): @@ -111,6 +112,9 @@ class autochannel(MumoModule): def check_game_channel(self, server): self.game_root = find_create_channel(self.game_channel_name, server, 0) + if not self.top_list: + return + games = {} for idx, app in enumerate(self.top_list.values()): if idx < self.top_games_limit: @@ -119,7 +123,7 @@ class autochannel(MumoModule): break for pgame in self.game_channel_permanent: - if pgame and str(pgame) in self.top_list: + if pgame: game = self.top_list[str(pgame)] if game: @@ -166,4 +170,4 @@ class autochannel(MumoModule): def stopped(self, server): self.log().debug("Stopped timer for server") if server.id in self.servertimer: - self.servertimer[server.id].stop() + self.servertimer[server.id].cancel()