예제 #1
0
    def watch(self, username):
        if self.is_running():
            self.process.stop()

        from 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()
예제 #2
0
def find_running_game(charname, start):
    from 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
예제 #3
0
 def send_lobby(self):
     self.queue_message("lobby_clear")
     from 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()
예제 #4
0
    def watch(self, username):
        if self.is_running():
            self.process.stop()

        from process_handler import processes
        procs = [
            process for process in 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("Started watching %s (P%s).", process.username,
                             process.id)
            self.watched_game = process
            process.add_watcher(self)
            self.send_message("watching_started")
            self.send_json_options(process.game_params["id"], process.username)
        else:
            if self.watched_game:
                self.stop_watching()
            self.go_lobby()
예제 #5
0
def find_running_game(charname, start):
    from process_handler import processes
    for process in processes.values():
        if (process.where.get("name") == charname and
            process.where.get("start") == start):
            return process
    return None
예제 #6
0
 def watch(self, username):
     from process_handler import processes
     procs = [process for process in processes.values()
              if process.username.lower() == username.lower()]
     if len(procs) >= 1:
         process = procs[0]
         self.logger.info("Started watching %s (P%s).", process.username,
                          process.id)
         self.watched_game = process
         process.add_watcher(self)
         self.send_message("watching_started")
     else:
         self.send_message("go_lobby")
예제 #7
0
파일: ws_handler.py 프로젝트: eruonna/dcss
    def watch(self, username):
        if self.is_running():
            self.process.stop()
        elif self.watched_game:
            self.stop_watching()

        from process_handler import processes
        procs = [process for process in processes.values()
                 if process.username.lower() == username.lower()]
        if len(procs) >= 1:
            process = procs[0]
            self.logger.info("Started watching %s (P%s).", process.username,
                             process.id)
            self.watched_game = process
            self.joining = True
            process.add_watcher(self)
            self.send_message("watching_started")
        else:
            self.go_lobby()
예제 #8
0
    def watch(self, username):
        if self.is_running():
            self.process.stop()
        elif self.watched_game:
            self.stop_watching()

        from process_handler import processes
        procs = [
            process for process in processes.values()
            if process.username.lower() == username.lower()
        ]
        if len(procs) >= 1:
            process = procs[0]
            self.logger.info("Started watching %s (P%s).", process.username,
                             process.id)
            self.watched_game = process
            self.joining = True
            process.add_watcher(self)
            self.send_message("watching_started")
        else:
            self.go_lobby()
예제 #9
0
파일: ws_handler.py 프로젝트: jmbjr/dcss
    def watch(self, username):
        if self.is_running():
            self.process.stop()

        from process_handler import processes
        procs = [process for process in 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("Started watching %s (P%s).", process.username,
                             process.id)
            self.watched_game = process
            process.add_watcher(self)
            self.send_message("watching_started")
            self.send_json_options(process.game_params["id"], process.username)
        else:
            if self.watched_game:
                self.stop_watching()
            self.go_lobby()
예제 #10
0
 def send_lobby(self):
     self.queue_message("lobby_clear")
     from process_handler import processes
     for process in processes.values():
         self.queue_message("lobby_entry", **process.lobby_entry())
     self.send_message("lobby_complete")