예제 #1
0
    async def execute(self) -> None:

        await self.print_queue.put(
            f"\n{ansi['red']}Command List\n{ansi['red']}{'=' * 12}{ansi['reset']}"
        )
        field_names = [
            f'{"Command":<20}', f'{"Usage":<20}', f'{"Description":<30}'
        ]
        field_values = []
        commands_list = self.command_register.dump_register()
        for cls in commands_list:
            info = commands_list[cls].helper
            field_values.append([info['name'], info['usage'], info['help']])
        output: str = Utility.create_table(field_names, field_values)
        await self.print_queue.put(f"{output}\n")

        if len(self.module_register.dump_register()) <= 0:
            return

        await self.print_queue.put(
            f"\n{ansi['red']}Module List\n{ansi['red']}{'=' * 11}{ansi['reset']}"
        )
        field_names = [
            f'{"Module":<20}', f'{"Usage":<20}', f'{"Description":<30}'
        ]
        field_values = []
        modules_list = self.module_register.dump_register()
        for cls in modules_list:
            info = modules_list[cls].helper
            field_values.append([info['name'], info['usage'], info['help']])
        output: str = Utility.create_table(field_names, field_values)
        await self.print_queue.put(f"{output}\n")
예제 #2
0
    async def execute(self) -> None:
        approved_keys: list = ['provider', 'module', 'console']
        used_keys: list = []
        options: dict = self.options_register.dump_register()
        for x in options.keys():
            if x not in approved_keys:
                continue

            if 'module' in options.keys():
                used_keys.append(
                    'module') if 'module' not in used_keys else None
                await self.print_queue.put('')
                await self.print_queue.put(('error', f"Module Options"))
                await self.print_queue.put(('error', f"==============\n"))
                field_names: list = [
                    f"{'Option':<20}", f"{'Setting':<20}",
                    f"{'Description':<30}"
                ]
                field_values: list = []
                for item in options['module'].items():
                    field_values.append([item[0], item[1][0], item[1][1]])
                output: str = Utility.create_table(field_names, field_values)
                await self.print_queue.put(output)
                await self.print_queue.put('')
                return

            if 'provider' in options.keys() and 'provider' not in used_keys:
                used_keys.append(
                    'provider') if 'provider' not in used_keys else None
                await self.print_queue.put('')
                await self.print_queue.put(('error', f"Provider Options"))
                await self.print_queue.put(('error', f"================\n"))
                field_names: list = [
                    f"{'Option':<20}", f"{'Setting':<20}",
                    f"{'Description':<30}"
                ]
                field_values: list = []
                for item in options['provider'].items():
                    field_values.append([item[0], item[1][0], item[1][1]])
                output: str = Utility.create_table(field_names, field_values)
                await self.print_queue.put(output)
                await self.print_queue.put('')

            if 'console' in options.keys() and 'console' not in used_keys:
                used_keys.append(
                    'console') if 'console' not in used_keys else None
                await self.print_queue.put('')
                await self.print_queue.put(('error', f"Console Options"))
                await self.print_queue.put(('error', f"===============\n"))
                field_names: list = [
                    f"{'Option':<20}", f"{'Setting':<20}",
                    f"{'Description':<30}"
                ]
                field_values: list = []
                for item in options['console'].items():
                    field_values.append([item[0], item[1][0], item[1][1]])
                output: str = Utility.create_table(field_names, field_values)
                await self.print_queue.put(output)
                await self.print_queue.put('')
예제 #3
0
 async def execute(self) -> None:
     tasks = asyncio.all_tasks()
     pending = [task for task in tasks if task != asyncio.current_task or not task.done()]
     await self.print_queue.put(f"\n{ansi['red']}Running Tasks\n{ansi['red']}{'=' * 13}{ansi['reset']}")
     field_names = [f'{"Coroutine":<20}', f'{"Name":<20}', f'{"Loop":<30}']
     field_values = []
     for pending_task in pending:
         coro = str(pending_task.get_coro()).split(' ')[2:]
         field_values.append([' '.join(coro).rstrip('>'), pending_task.get_name(), str(pending_task.get_loop())])
     output: str = Utility.create_table(field_names, field_values)
     await self.print_queue.put(f"{output}\n")