Example #1
0
def main(stdscr):
    default_colors = CursedColorScheme()

    stored_session_file = "./saved_sessions.json"
    session_storage = SessionStorage(stored_session_file)

    top_menu = SessionMenu(default_colors, session_storage)
    top_win = CursedWindow(True, default_colors, top_menu, "Actionables", True)

    bottom_menu = CursedMenu(default_colors)
    bottom_win = CursedWindow(True, default_colors, bottom_menu, "Values")

    window_group = CursedWindowGroup()

    window_group.add_sub_window(stdscr, bottom_win, CursedWindowGroup.Position.BOTTOM_HORIZONTAL_THIRD)
    window_group.add_sub_window(stdscr, top_win, CursedWindowGroup.Position.TOP_TWO_THIRDS)

    try:
        sessions = session_storage.load_sessions()
        for sess in sessions:
            item = ScreenItem(sess["session_id"], sess["windows"], sess)
            top_menu.add_menu_item(item)
    except FileNotFoundError:
        print("No stored sessions found")

    for num in range(40):
        bottom_menu.add_menu_item(MenuItem("Thing {0}".format(num)))
    # turn off cursor blinking
    curses.curs_set(0)

    stdscr.refresh()
    window_group.update_all()

    try:
        keep_going = True
        while keep_going:
            key = stdscr.getch()
            if key == ord('q'):
                keep_going = False
            else:
                window_group.handle_key_event(key)

            if key == curses.KEY_ENTER or key == 10:
                # If a screen session as entered, we will need the keypad mode back on
                stdscr.keypad(1)

            window_group.update_all()
    finally:
        top_menu.save()
Example #2
0
class RequestHandler:

    #
    # DONE
    # Initialisation
    # Args : Aucun
    # Return : Aucun
    #
    def __init__(self):
        Logger.log('Request handler init')
        self.SessionStorage = SessionStorage()

    #
    # DONE
    # Distribue les requètes vers des fonctions
    # Args : Requète
    # Return : Valeur renvoyée par la fonction
    #
    def dispatchRequest(self, rq):
        Logger.log('dispatching request : ' + str(rq.requestKind))
        if rq.requestKind is not False:
            if rq.requestKind == RequestKind.CreateNewGameRequest:
                return self.handleNewGameRequest()
            if rq.requestKind == RequestKind.JoinGameRequest:
                return self.handleJoinGameRequest(rq)
            if rq.requestKind == RequestKind.GameUpdateRequest:
                return self.handleGameUpdateRequest(rq)
            if rq.requestKind == RequestKind.MoveRequest:
                return self.handleMoveRequest(rq)
        else:
            return False

    #
    # DONE
    # Fonction qui gère les requètes de création de nouvelle partie
    # Args : Aucun
    # Return : Valeur renvoyée par la SessionStorage.addNewSession()
    #
    def handleNewGameRequest(self):
        Logger.log('Handling new game')
        res = self.SessionStorage.addNewSession()

        return res

    #
    # DONE
    # Fonction qui gère les requètes de join
    # Args : Objet Request
    # Return : Id de joueur
    #
    def handleJoinGameRequest(self, rq):
        res = self.SessionStorage.joinGame(rq.params['uniqueurl'])
        return res

    #
    # DONE
    # Fonction qui geère les requètes de mise à jour de la game
    # Args : Objet Request
    # Return : Json de la partie
    #
    def handleGameUpdateRequest(self, rq):
        res = self.SessionStorage.getGameStateJson(rq.params['uniqueurl'])
        return res

    #
    # TODO
    # Fonction qui gère les requètes de mouvement
    # Args : Objet Request
    # Return : TODO
    #
    def handleMoveRequest(self, rq):
        res = self.SessionStorage.move(rq.params['uniqueid'],
                                       rq.params['uniqueurl'],
                                       rq.params['move'])
        return res
Example #3
0
 def __init__(self):
     Logger.log('Request handler init')
     self.SessionStorage = SessionStorage()
Example #4
0
class RequestHandler:

    #
    # DONE
    # Initialisation
    # Args : Aucun
    # Return : Aucun
    #
    def __init__(self):
        Logger.log("Request handler init")
        self.SessionStorage = SessionStorage()

    #
    # DONE
    # Distribue les requètes vers des fonctions
    # Args : Requète
    # Return : Valeur renvoyée par la fonction
    #
    def dispatchRequest(self, rq):
        Logger.log("dispatching request : " + str(rq.requestKind))
        if rq.requestKind is not False:
            if rq.requestKind == RequestKind.CreateNewGameRequest:
                return self.handleNewGameRequest()
            if rq.requestKind == RequestKind.JoinGameRequest:
                return self.handleJoinGameRequest(rq)
            if rq.requestKind == RequestKind.GameUpdateRequest:
                return self.handleGameUpdateRequest(rq)
            if rq.requestKind == RequestKind.MoveRequest:
                return self.handleMoveRequest(rq)
        else:
            return False

    #
    # DONE
    # Fonction qui gère les requètes de création de nouvelle partie
    # Args : Aucun
    # Return : Valeur renvoyée par la SessionStorage.addNewSession()
    #
    def handleNewGameRequest(self):
        Logger.log("Handling new game")
        res = self.SessionStorage.addNewSession()

        return res

    #
    # DONE
    # Fonction qui gère les requètes de join
    # Args : Objet Request
    # Return : Id de joueur
    #
    def handleJoinGameRequest(self, rq):
        res = self.SessionStorage.joinGame(rq.params["uniqueurl"])
        return res

    #
    # DONE
    # Fonction qui geère les requètes de mise à jour de la game
    # Args : Objet Request
    # Return : Json de la partie
    #
    def handleGameUpdateRequest(self, rq):
        res = self.SessionStorage.getGameStateJson(rq.params["uniqueurl"])
        return res

    #
    # TODO
    # Fonction qui gère les requètes de mouvement
    # Args : Objet Request
    # Return : TODO
    #
    def handleMoveRequest(self, rq):
        res = self.SessionStorage.move(rq.params["uniqueid"], rq.params["uniqueurl"], rq.params["move"])
        return res
Example #5
0
 def __init__(self):
     Logger.log("Request handler init")
     self.SessionStorage = SessionStorage()