Пример #1
0
 def setUp(self):
     self.cmdmgr = CommandManager()
     self.cmd_foo = make_cmdcls(name='foo', provides=('cli',))
     self.cmd_bar = make_cmdcls(name='bar', provides=('tui',))
     self.cmd_baz = make_cmdcls(name='baz', provides=('cli', 'tui'))
     for c in (self.cmd_foo, self.cmd_bar, self.cmd_baz):
         self.cmdmgr.register(c)
Пример #2
0
 def setUp(self):
     # It's ok to use the default loop here because we're not using it in
     # this test class.
     self.cmdmgr = CommandManager(loop=asyncio.get_event_loop())
     self.cmd_foo = make_cmdcls(name='foo', provides=('cli',))
     self.cmd_bar = make_cmdcls(name='bar', provides=('tui',))
     self.cmd_baz = make_cmdcls(name='baz', provides=('cli', 'tui'))
     for c in (self.cmd_foo, self.cmd_bar, self.cmd_baz):
         self.cmdmgr.register(c)
Пример #3
0
 def setUp(self):
     self.cmdmgr = CommandManager()
     self.cmdmgr.register(make_cmdcls(name='dotui', provides=('tui', )))
     self.cmdmgr.register(make_cmdcls(name='docli', provides=('cli', )))
     self.cmdmgr.register(
         make_cmdcls(name='doboth', provides=('cli', 'tui')))
     self.cmdmgr.register(
         make_cmdcls(name='dotorrent',
                     provides=('cli', 'tui'),
                     category='torrent'))
Пример #4
0
    def setUp(self):
        self.cmdmgr = CommandManager(loop=self.loop)

        def sync_run(self_, A, B):
            assert isinstance(self_, _CommandBase)
            self.div_result = A / B
            return True

        async def async_run(self_, A, B):
            assert isinstance(self_, _CommandBase)
            await asyncio.sleep(0, loop=self_.loop)
            self.div_result = A / B
            return True

        argspecs = ({'names': ('A',), 'type': int, 'description': 'First number'},
                    {'names': ('B',), 'type': int, 'description': 'Second number'})
        self.cmdmgr.register(
            make_cmdcls(name='div', run=sync_run, argspecs=argspecs, provides=('sync',))
        )
        self.cmdmgr.register(
            make_cmdcls(name='div', run=async_run, argspecs=argspecs, provides=('async',))
        )


        async def async_run_CmdError(self_, msg):
            await asyncio.sleep(0, loop=self_.loop)
            raise CmdError(msg)

        def sync_run_CmdError(self_, msg):
            raise CmdError(msg)

        argspecs = ({'names': ('msg',), 'type': str, 'description': 'Error message'},)
        self.cmdmgr.register(
            make_cmdcls(name='error', run=async_run_CmdError, argspecs=argspecs, provides=('async',))
        )
        self.cmdmgr.register(
            make_cmdcls(name='error', run=sync_run_CmdError, argspecs=argspecs, provides=('sync',))
        )


        async def async_run_Exception(self_):
            await asyncio.sleep(0, loop=self_.loop)
            1/0
        def sync_run_Exception(self_):
            1/0
        self.cmdmgr.register(
            make_cmdcls(name='raise', run=async_run_Exception, argspecs=(), provides=('async',))
        )
        self.cmdmgr.register(
            make_cmdcls(name='raise', run=sync_run_Exception, argspecs=(), provides=('sync',))
        )

        self.cb_error = Callback()
        self.cb_success = Callback()
Пример #5
0
    def setUp(self):
        self.info_handler = Callback()
        self.error_handler = Callback()
        self.cmdmgr = CommandManager(loop=self.loop,
                                     info_handler=self.info_handler,
                                     error_handler=self.error_handler)

        def run_sync(self_, A, B):
            assert isinstance(self_, _CommandBase)
            self_.info(round(int(A) / int(B)))

        async def run_async(self_, A, B):
            assert isinstance(self_, _CommandBase)
            await asyncio.sleep(0, loop=self_.loop)
            self_.info(round(int(A) / int(B)))

        argspecs = ({'names': ('A',), 'type': int, 'description': 'First number'},
                    {'names': ('B',), 'type': int, 'description': 'Second number'})
        self.cmdmgr.register(
            make_cmdcls(name='div', run=run_sync, argspecs=argspecs, provides=('sync',))
        )
        self.cmdmgr.register(
            make_cmdcls(name='div', run=run_async, argspecs=argspecs, provides=('async',))
        )


        def run_sync_CmdError(self_, msg):
            raise CmdError(msg)

        async def run_async_CmdError(self_, msg):
            await asyncio.sleep(0, loop=self_.loop)
            raise CmdError(msg)

        argspecs = ({'names': ('msg',), 'description': 'Error message'},)
        self.cmdmgr.register(
            make_cmdcls(name='error', run=run_sync_CmdError, argspecs=argspecs, provides=('sync',))
        )
        self.cmdmgr.register(
            make_cmdcls(name='error', run=run_async_CmdError, argspecs=argspecs, provides=('async',))
        )


        def run_sync_Exception(self_):
            1/0
        async def run_async_Exception(self_):
            await asyncio.sleep(0, loop=self_.loop)
            1/0
        self.cmdmgr.register(
            make_cmdcls(name='raise', run=run_sync_Exception, argspecs=(), provides=('sync',))
        )
        self.cmdmgr.register(
            make_cmdcls(name='raise', run=run_async_Exception, argspecs=(), provides=('async',))
        )