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")
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('')
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")
import asyncio import random import os from src.core.RedConsole import RedConsole from src.core.utility.Utility import Utility ansi = Utility.colors() config_file: str = 'src/core/config/config.json' def heading(): with open(f'src/core/banner/{random.choice(os.listdir("src/core/banner"))}', encoding='utf8') as f: lines = [line.rstrip() for line in f] for line in lines: print(f"{ansi['red']}{line}") print(ansi['reset']) if __name__ == '__main__': import sys if sys.platform == 'win32': """ Attempting to fix ANSI/VT100 """ from ctypes import * kernel32 = windll.kernel32 kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7) heading() console = RedConsole(config_file) console.register_options()