def handler(self): if self.commandStructureCompatibility(): if CommandConfig.insideTheCommonCommands(self.__command): CommandConfig.getCommonCommands().get(self.__command).get("function")(controller=self.__controller) elif CommandConfig.insideTheSpecialCommands(self.__controller, self.__command): CommandConfig.getSpecialCommands(self.__controllerName).get(self.__command).get("function")() else: Common.printNegativeText( CommandStructureConstants.NO_SUCH_COMMAND_ERR) else: Common.printNegativeText( CommandStructureConstants.COMMAND_STRUCTURE_COMPATIBILITY_ERR)
def helpCommand(**kwargs): from .commandConfig import CommandConfig controllerName = kwargs.get("controller").__name__ commonCommands = CommandConfig.getCommonCommands() privateCommands = CommandConfig.getSpecialCommands(controllerName) for command, value in commonCommands.items(): Common.printNotificationText( f"{command} -> {value.get('description')}") for command, value in privateCommands.items(): Common.printNotificationText( f"{command} -> {value.get('description')}")
def read(): response = Connection.notificationRequest("read", {}) notifications = response.get("notifications") Common.printNotificationText("Notifications:\n") for notification in notifications: if notification.get("content") is None: continue notificationId = notification.get("id") date = notification.get("date") content = notification.get("content") Common.printNotificationText( f"id -> {notificationId}\ndate -> {date}\ncontent -> {content}\n" )
def newIncomingMessages(): chatWith = programLocation.getLocationParameters().get("chatWith") while programLocation.getLocation( ) == "ChatController" and Connection.isSession(): response = Connection.chatRequest("new-incoming-messages", {"chatWith": chatWith}) if response.get("successful"): for messageSet in response.get("newIncomingMessages"): sender = messageSet.get("sender") date = messageSet.get("date") message = messageSet.get("message") Common.printChatLabelText(f"<{sender}> <{date}>: ") Common.printStandartText(message) time.sleep(.1)
def registerForm(): form = RegisterForm() form.fillTheForm() Common.clearTerminal() if form.validation(): response = Connection.registerRequest(form.getData()) successful = response.get("successful") message = response.get("message") if successful: Common.printPositiveText(message) else: Common.printNegativeText(message) else: Common.printNegativeText(form.getValidationMessage()) Common.programSleep()
def stream(): response = Connection.chatRequest("stream", { "chatWith": programLocation.getLocationParameters().get("chatWith") }) successful = response.get("successful") if successful: for messageSet in response.get("stream"): sender = messageSet.get("sender") date = messageSet.get("date") message = messageSet.get("message") if sender == "__session__": Common.printChatLabelText(f"<You> <{date}>: ") Common.printStandartText(message) else: Common.printChatLabelText(f"<{sender}> <{date}>: ") Common.printStandartText(message) else: Common.printNegativeText(response.get("message"))
def __sendMessage(message): receiver = programLocation.getLocationParameters().get("chatWith") response = Connection.chatRequest("send-message", { "receiver": receiver, "message": message }) if response.get("successful"): date = datetime.now().strftime("%d/%m/%Y %H:%M:%S") Common.printChatLabelText(f"<You> <{date}>: ") Common.printStandartText(message) else: Common.printNegativeText(response.get("message"))
def deleteOne(): try: notificationId = int(input("Notification Id -> ")) except ValueError: Common.printNegativeText("Notification id must be integer") return response = Connection.notificationRequest("delete-one", {"id": notificationId}) successful = response.get("successful") message = response.get("message") if successful: Common.printPositiveText(message) else: Common.printNegativeText(message)
def clear(): Common.clearTerminal() ChatController.getViewTitles() ChatController.stream()
def getViewTexts(): Common.clearTerminal() Common.printStandartText(ViewTextConstants.ACCESS_TITLE) Common.printStandartText(ViewTextConstants.ACCESS_SUBTITLE)
def getViewTitles(): Common.clearTerminal() Common.printStandartText(ViewTextConstants.NOTIFICATION_TITLE)
def clearCommand(**kwargs): Common.clearTerminal() kwargs.get("controller").clear()
def clear(): Common.clearTerminal() LobbyController.getViewTitles()
def loginForm(): form = LoginForm() form.fillTheForm() Common.clearTerminal() if form.validation(): response = Connection.loginRequest(form.getData()) successful = response.get("successful") message = response.get("message") if successful: Common.printPositiveText(message) Common.programSleep() LobbyView.view() else: Common.printNegativeText(message) else: Common.printNegativeText(form.getValidationMessage()) Common.programSleep()
def getViewTitles(): Common.clearTerminal() Common.printStandartText( f"Chat area with {programLocation.getLocationParameters().get('chatWith')}, say /help for help\n" )
def clear(): Common.clearTerminal() ProfileController.getViewTitles()
def whoami(): response = Connection.profileRequest("whoami", {}).get("whoami") Common.printNotificationText( f"Username -> {response.get('username')}\nEmail -> {response.get('email')}" )
def getViewTitles(): Common.clearTerminal() Common.printStandartText(ViewTextConstants.REGISTER_TITLE)
def clear(): Common.clearTerminal() NotificationController.getViewTitles()