def watch(self, username): if self.is_running(): self.process.stop() from webtiles.process_handler import processes procs = [ process for process in list(processes.values()) if process.username.lower() == username.lower() ] if len(procs) >= 1: process = procs[0] if self.watched_game: if self.watched_game == process: return self.stop_watching() self.logger.info("%s started watching %s (%s).", self.username and self.username or "[Anon]", process.username, process.id) self.watched_game = process process.add_watcher(self) self.send_message("watching_started", username=process.username) else: if self.watched_game: self.stop_watching() self.go_lobby()
def send_lobby(self): self.queue_message("lobby_clear") from webtiles.process_handler import processes for process in list(processes.values()): self.queue_message("lobby_entry", **process.lobby_entry()) self.send_message("lobby_complete") self.send_lobby_html()
def find_running_game(charname, start): from webtiles.process_handler import processes for process in list(processes.values()): if (process.where.get("name") == charname and process.where.get("start") == start): return process return None
def send_lobby_data(self): self.queue_message("lobby_clear") from webtiles.process_handler import processes for process in list(processes.values()): if process.account_restricted() and not self.is_admin(): continue self.queue_message("lobby_entry", **process.lobby_entry()) self.send_message("lobby_complete")
def watch(self, username): if self.is_running(): self.process.stop() if not self.update_db_info(): self.go_lobby() return if self.username and self.account_restricted(): self.send_message( "auth_error", reason="Account restricted; spectating unavailable") self.go_lobby() return from webtiles.process_handler import processes procs = [ process for process in list(processes.values()) if process.username.lower() == username.lower() ] if len(procs) >= 1: process = procs[0] r = process.get_primary_receiver() if r and r.account_restricted(): self.go_lobby() return if self.watched_game: if self.watched_game == process: return self.stop_watching() self.logger.info("%s started watching %s (%s).", self.username and self.username or "[Anon]", process.username, process.id) self.watched_game = process process.add_watcher(self) self.send_message("watching_started", username=process.username) else: if self.watched_game: self.stop_watching() self.go_lobby()