def save_typing(self, update, context): sign_ask_for = self.base_handler.get_data(update, context, self.base_handler.SIGNIN_ASK_FOR, None) if not sign_ask_for: return session = Session.get_from(context.user_data) go_to = None if re.search('odoo_connector_url$', sign_ask_for): session.set_auth_args(url= update.message.text) go_to = self.workflow_connector(update, context) elif re.search('odoo_connector_db$', sign_ask_for): session.set_auth_args(database= update.message.text) go_to = self.workflow_connector(update, context) elif re.search('username$', sign_ask_for): session.set_auth_args(username= update.message.text) elif re.search('password$', sign_ask_for): session.set_auth_args(password = update.message.text) Session.set_from(context.user_data, session) #self.base_handler.set_data(update, context, # self.base_handler.SIGN_HANDLER_MSG, # 'Got it! Please select to update.' #) return go_to or self.workflow_connector(update, context)
def workflow_connector(self, update, context): connector = update.callback_query.data Session.del_from(context.user_data) session = Session.get_from(context.user_data) if connector == str(self.CALLBACK_ODOO_CONNECTOR): session.sign_handler = OdooSignHandler(self) session.hey_wallet_handler = OdooHeyWalletHandler(self) session.datasource = Odoo() else: session.sign_handler = None session.hey_wallet_handler = None session.datasource = None Session.set_from(context.user_data, session) if session.sign_handler: return session.sign_handler.workflow_connector(update, context) return self.sign_handler.workflow_connector(update, context)
def auth(self, update, context): session = Session.get_from(context.user_data) text = 'First add your username and password ' if session.get_auth_args('password', True) and session.get_auth_args('username', True): try: session.datasource.auth(**session.auth_args) if session.datasource.is_auth(): Session.set_from(context.user_data,session) return session.hey_wallet_handler.welcome(update, context) else: text = 'Fail auth, update your username or password' except Exception as e: text = 'Fail auth, update your username or password' if getattr(session.datasource, 'auth_exception'): text= session.datasource.auth_exception(e) or text logger.error(str(e)) self.base_handler.set_data( update, context, self.base_handler.SIGN_HANDLER_MSG, value=text ) return self.workflow_connector(update, context)