Exemplo n.º 1
0
 def __init__(self, max_download_size, download_path, lang, initial_state):
     self.db_manager = Database.get_instance()
     self.scheduler = CronJobManager.get_instance()
     self.logger = logging.getLogger(__name__)
     self.download_path = utils.get_abs_path(download_path)
     self.max_download_size = max_download_size
     self.lang = lang
     self.initial_state = initial_state
     self.PROCESS_PASSWORD = range(
         initial_state, initial_state + BookDownloadHandler.num_states
     )
     self.entry_points = [CallbackQueryHandler(
         self.callback, pass_user_data=True
     )]
     self.states = {
         self.PROCESS_PASSWORD: [RegexHandler(
             '.*', self.process_password, pass_user_data=True
         )]
     }
     self.fallbacks=[RegexHandler('3248BC7547CE97B2A197B2A06CF7283D',
         self.cancel)]
     ConversationHandler.__init__(
         self,
         entry_points=self.entry_points,
         states=self.states,
         fallbacks=self.fallbacks,
         per_chat=False
     )
Exemplo n.º 2
0
    def __init__(self, conversation_action, writer_factory, *args, **kwargs):
        """

        :type conversation_action: ConversationActionMixin
        :type writer_factory: telegram_service.writer.WriterFactory
        """
        ActionHandler.__init__(self, conversation_action, writer_factory,
                               *args, **kwargs)
        ConversationHandler.__init__(
            self,
            entry_points=[
                CommandActionHandler(conversation_action.entry_action,
                                     writer_factory)
            ],
            states={
                1: [
                    RegexActionHandler(conversation_action.yes_callback,
                                       writer_factory)
                ],
            },
            fallbacks=[Handler(conversation_action.no_callback)])
 def __init__(self, lang, language_codes, initial_state):
     self.db_manager = Database.get_instance()
     self.scheduler = CronJobManager.get_instance()
     self.logger = logging.getLogger(__name__)
     self.lang = lang
     self.language_codes = language_codes
     self.initial_state = initial_state
     self.LANGUAGE, self.EMAIL, self.PASSWORD, self.STORE_PASS = range(
         initial_state, initial_state + StartWizard.num_states)
     self.entry_points = [CommandHandler('start', self.start)]
     self.states = {
         self.LANGUAGE: [RegexHandler('.*', self.language)],
         self.EMAIL: [RegexHandler('.*', self.email)],
         self.STORE_PASS: [RegexHandler('.*', self.save_credentials)],
         self.PASSWORD: [RegexHandler('.*', self.password)],
     }
     self.fallbacks = [
         CommandHandler('10aec35353f9c4096a71c38654c3d402', self.cancel)
     ]
     ConversationHandler.__init__(self,
                                  entry_points=self.entry_points,
                                  states=self.states,
                                  fallbacks=self.fallbacks)
    def __init__(self, lang, language_codes, initial_state):

        self.db_manager = Database.get_instance()
        self.scheduler = CronJobManager.get_instance()
        self.lang = lang
        self.language_codes = language_codes
        self.initial_state = initial_state
        self.CONFIG, self.PROCESS_LANGUAGE, self.PROCESS_ACCOUNT, \
        self.PROCESS_LIBRARY, self.PROCESS_EMAIL, self.PROCESS_PASSWORD, \
        self.PROCESS_CREDENTIALS, self.PROCESS_UPDATE_LIBRARY_PASSWORD, \
        self.PROCESS_FILE_FORMAT = range(
            initial_state, initial_state + ConfigWizard.num_states
        )
        self.entry_points = [
            CommandHandler('config', self.request_config_menu)
        ]
        self.states = {
            self.CONFIG: [RegexHandler(
                self.mc_ml_regex(['language','account', 'library', 'exit']),
                self.config_menu
            )],
            self.PROCESS_LANGUAGE: [RegexHandler(
                '.*',
                self.process_language
            )],
            self.PROCESS_ACCOUNT: [RegexHandler(
                self.mc_ml_regex(
                    [
                        'email',
                        'password',
                        'save_credentials',
                        'back'
                    ]
                ), self.account
            )],
            self.PROCESS_LIBRARY: [RegexHandler(
                self.mc_ml_regex(
                    [
                        'update_library',
                        'file_format',
                        'back'
                    ]
                ), self.process_library
            )],
            self.PROCESS_EMAIL: [RegexHandler(
                '.*', self.process_email
            )],
            self.PROCESS_PASSWORD: [RegexHandler(
                '.*', self.process_password
            )],
            self.PROCESS_CREDENTIALS: [RegexHandler(
                self.mc_ml_regex(['yes', 'no']),
                self.process_save_credentials
            )],
            self.PROCESS_UPDATE_LIBRARY_PASSWORD: [RegexHandler('.*',
                self.process_password_update_library
            )],
            self.PROCESS_FILE_FORMAT: [RegexHandler(
                '^(' + self.lang['common']['zip'] + '|' \
                + self.lang['common']['pdf'] + '|' \
                + self.lang['common']['epub'] + ')$',
                self.process_file_format
            )]
        }
        self.fallbacks = [
            RegexHandler('3248BC7547CE97B2A197B2A06CF7283D', self.cancel)
        ]

        ConversationHandler.__init__(self,
                                     entry_points=self.entry_points,
                                     states=self.states,
                                     fallbacks=self.fallbacks)