def render(self, offset = 0): # Border cprint("%s%s" % ((Cursor.UP(self.heightwb - offset) if offset <= self.heightwb else ''), '*' + '-' * (self.width + 2) + '*'), *self.borderstyle) for i in range(self.height): cprint("| %s |" % (' ' * self.width), *self.borderstyle) cprint("%s" % ('*' + '-' * (self.width + 2) + '*'), *self.borderstyle) print("%s" % Cursor.UP(self.heightwb), end = '') # CLI Name print("%s" % Cursor.FORWARD(3), end = '') print(self.title) # for l in range(self.height): # print("%s" % Cursor.FORWARD(), end = '') # print("%d" % self.cnt) for line in self.components: print("%s" % Cursor.FORWARD(2), end = '') for comp in line: print(comp, end = '') print('') # Footer print("%s" % Cursor.FORWARD(30), end = '') print(self.footer)
def printListCompleteOfProcess(self, x, y): print( Cursor.UP(y) + Cursor.FORWARD(x) + Fore.GREEN + "Procesos completados") print(Fore.RESET) for index in range(0, len(self.__list)): print( Cursor.FORWARD(x) + self.__list[index].toStringProcessComplete())
def printListProcessToExecute(self, x, y, lotsPending): print(Fore.LIGHTRED_EX + Cursor.UP(y) + Cursor.FORWARD(x) + "Numero de lotes pendientes: ", lotsPending) print(Fore.RESET) for index in range(1, 6): if index >= len(self.__list): print(" ", end="\n") elif index < len(self.__list): print(Cursor.FORWARD(x) + "process: ", self.__list[index], end="\n")
def ayuda(): borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.BLUE + Fore.WHITE + "==================== AYUDA ===============\n\n" + Fore.WHITE) print(" lista => lista todos los archivos existentes") print(Cursor.FORWARD(5) + "Ejemplo: ~ $$lista ") print(" agrega => Agrega una cadena a un archivo") print(Cursor.FORWARD(5) + "Ejemplo: ~ $$agrega mi_archivo.txt 'Mi nombre'") print( Cursor.FORWARD(5) + "La cadena debe ir entre comillas simples si contiene algun espacio") print(" nuevo => Crea un archivo") print(Cursor.FORWARD(5) + "Ejemplo: ~ $$nuevo mi_archivo.txt 'Mi nombre'") print( Cursor.FORWARD(5) + "La cadena debe ir entre comillas simples si contiene algun espacio") print(" borra => Borra un archivo") print(Cursor.FORWARD(5) + "Ejemplo: ~ $$borra mi_archivo.txt") print(" ver => Muestra el contenido de un archivo") print(Cursor.FORWARD(5) + "Ejemplo: ~ $$ver mi_archivo.txt") print( Cursor.FORWARD(5) + "\nPara seleccionar una opción teclea el número correspondiente y presiona la tecla enter ;) " ) espera = input("\npresiona enter para volver al menu... ") print(Style.RESET_ALL)
def control(): global semaforo_total, borra borra_pantalla() print( Cursor.DOWN(2) + Cursor.FORWARD(10) + Style.BRIGHT + Fore.YELLOW + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>> MONITOR DE SISTEMA <<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>> Realizado por: <<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>> FLORES GASPAR JUAN ANTONIO <<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>> Y <<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>> CORTES BENITEZ YAIR <<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") while True: if (borra != 0): borra_pantalla() print( Cursor.DOWN(2) + Cursor.FORWARD(10) + Style.BRIGHT + Fore.BLUE + "********************* OPCIONES *******************\n") print(" 1 => Información de Sistema") print(" 2 => Información de Discos") print(" 3 => Información de Procesos") print(" 4 => Información de Memoria") print(" 5 => Información de CPU") print(" 6 => Información de los buses PCI y los puertos USB") print(" 7 => Información de la tarjeta de Red") print(" 8 => Información de los sensores de la máquina") print(" 9 => Análisis general del sistema") print(" h => AYUDA") print(" 0 => SALIR\n") numero = input(Fore.GREEN + " ~ $$" + Style.RESET_ALL) if numero == "0": break opcion(numero) borra += 1
def control(): global borra borra_pantalla() print( Cursor.DOWN(2) + Cursor.FORWARD(10) + Style.BRIGHT + Fore.YELLOW + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>> (Micro) Sistema de archivos <<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>> Realizado por: <<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>> FLORES GASPAR JUAN ANTONIO <<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>> Y <<<<<<<<<<<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>> CORTES BENITEZ YAIR <<<<<<<<<<<<<<<") print( Cursor.FORWARD(10) + ">>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<") while True: if (borra != 0): borra_pantalla() print( Cursor.DOWN(2) + Cursor.FORWARD(10) + Style.BRIGHT + Fore.BLUE + "********************* OPCIONES *******************\n") print(" lista => Lista archivos") print( " agrega <nombre de archivo> 'cadena' => Agrega una cadena a un archivo" ) print(" nuevo <nombre de archivo> 'cadena' => Crea un archivo") print(" borra <nombre de archivo> => Borra un archivo") print( " ver <nombre de archivo> => Muestra el contenido de un archivo" ) print(" ayuda => AYUDA") print(" salir => SALIR\n") opc = input(Fore.GREEN + " ~ $$" + Style.RESET_ALL) if opc == "salir": break opcion(opc) borra += 1
def MEMORIA_INTERFAZ(): print(Style.BRIGHT + Fore.BLUE + Back.WHITE) print("Obteniendo...") for arch in ["cat", "proc", "meminfo"]: numero = random.randrange(1,2) sleep(numero-.5) print(Cursor.UP(1)+Cursor.FORWARD(20) +str(arch))
def SISTEMA_INTERFAZ(): print(Style.BRIGHT + Fore.RED + Back.BLACK) print("Obteniendo...") for arch in ["SO","Kernel","Procesador","Arquitectura"]: #pequeño truco para que se vea como más coqueto el programa numero = random.randrange(1,2) sleep(numero-.5) print(Cursor.UP(1)+Cursor.FORWARD(20) +str(arch))
def __printInfo(self, flag, listProcess): os.system("cls") process = None if listProcess.numberProcess() > 0: process = listProcess.getAcualProcess() numberBatch = self.__listBatch.numberBatch() if numberBatch == 0: numberBatch = 1 listProcess.printListProcessToExecute(1, 2, numberBatch - 1) print("\n") self.__listProcessFinish.printListCompleteOfProcess(80, 9) print("\n") print(Fore.RESET) print(Fore.LIGHTCYAN_EX + Cursor.FORWARD(46) + Cursor.UP(self.__cursorY) + "proceso en ejecucion", end="\n") print(Fore.RESET) if flag: self.__printProcessActual(process) self.__flagToContinuePrintProcess = True self.__statusOfInterruptionOutside(listProcess, process) else: self.__printProcessActual(process) print("\n\n\n\n") if not flag: self.__listProcessFinish.numberProcessComplete()
def memoria(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.MAGENTA + Fore.WHITE + "================= INFORMACIÓN DE MEMORIA RAM ===============\n\n" + Style.RESET_ALL + Fore.MAGENTA) subprocess.run(["free", "-m"]) sleep(5) borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.MAGENTA + Fore.WHITE + "============ INFORMACIÓN GENERAL DE LA MEMORIA ==========\n\n" + Style.RESET_ALL + Fore.MAGENTA) subprocess.run(["cat", "/proc/meminfo"]) sleep(5) semaforo_total.release()
def buses_puertos(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.RED + Fore.WHITE + "============ INFORMACIÓN DE BUSES PCI ==========\n\n" + Style.RESET_ALL + Fore.YELLOW) subprocess.run("lspci", shell=True) sleep(5) borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.RED + Fore.WHITE + "============ INFORMACIÓN DE PUERTOS USB ==========\n\n" + Style.RESET_ALL + Fore.YELLOW) subprocess.run("lsusb", shell=True) sleep(5) semaforo_total.release()
def __printProcessActual(self, process): maximunTime = 1 idProgram = " " operation = " " timeRest = " " time = " " index = 1 if process is not None: maximunTime = process.getMaximumTime() idProgram = process.getNumberProgram() operation = str(process.getFirstNumber()) + " " +\ process.getOperation() + " "+str(process.getSecondNumber()) if process.getTimeTranscurred() > 0: index = process.getTimeTranscurred() print("\r" + Cursor.FORWARD(46) + "Operacion: " + operation, end="\n") print("\r" + Cursor.FORWARD(46) + "ID: " + str(idProgram), end="\n") while self.__flagToContinuePrintProcess: self.__interruption.listenInterruption() if index < maximunTime + 1: if process is not None: timeRest = maximunTime - index time = index print("\r" + Cursor.FORWARD(46) + "Tiempo transcurrido: " + str(time) + "\n" + Cursor.FORWARD(46) + "Tiempo restante: " + str(timeRest) + " ", end="") if process is not None: process.setTimeTranscurred(time) print(Cursor.DOWN(4)) self.__countProgram += 1 print("\r" + Fore.LIGHTYELLOW_EX + "Contador del programa: ", str(self.__countProgram), end="") print(Fore.RESET) print(Cursor.UP(8)) self.__statusOfInterruptionInside() if idProgram is not 0: sleep(1) else: break else: break index = index + 1
def cpu(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.BLUE + Fore.WHITE + "============== INFORMACIÓN DE CPU ==========\n\n" + Style.RESET_ALL + Fore.BLUE) subprocess.run("lscpu", shell=True) sleep(5) semaforo_total.release()
def procesos(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.CYAN + Fore.WHITE + "=============== INFORMACIÓN DE PROCESOS ==========\n\n" + Style.RESET_ALL + Fore.CYAN) subprocess.run(["ps", "-e"]) sleep(5) semaforo_total.release()
def red(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.GREEN + Fore.WHITE + "=========== INFORMACIÓN DE TARJETA(S) DE RED ==========\n\n" + Style.RESET_ALL + Fore.GREEN) subprocess.run("ifconfig", shell=True) sleep(5) semaforo_total.release()
def discos(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.GREEN + Fore.WHITE + "================= INFORMACIÓN DE DISCOS ==================\n\n" + Style.RESET_ALL + Fore.GREEN) subprocess.run(["df", "-h"]) sleep(5) semaforo_total.release()
def sensores(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.MAGENTA + Fore.WHITE + "============ INFORMACIÓN DE LOS SENSORES ==========\n\n" + Style.RESET_ALL + Fore.MAGENTA) subprocess.run("sensors", shell=True) sleep(5) semaforo_total.release()
def __printProcessActual(self, process): idProgram = " " operation = " " timeRest = " " time = " " if process is not None: maximunTime = process.getMaximumTime() idProgram = process.getNumberProgram() operation = str(process.getFirstNumber() ) + " " + process.getOperation() + " " + str( process.getSecondNumber()) time = maximunTime - process.getTimeTranscurred() timeRest = process.getTimeTranscurred() print("\r" + Cursor.FORWARD(46) + "Operacion: " + operation, end="\n") print("\r" + Cursor.FORWARD(46) + "ID: " + str(idProgram), end="\n") print("\r" + Cursor.FORWARD(46) + "Tiempo transcurrido: " + str(timeRest) + " \n" + Cursor.FORWARD(46) + "Tiempo restante: " + str(time) + " ", end="\n") if process is not None: process.setTimeTranscurred(timeRest + 1)
def print_status(msg, color): """Print the status message. Args: msg: The message to display (e.g. OK or FAILED). color: The ANSI color code to use in displaying the message. """ print('\r' if sys.stdout.isatty() else '\t', end='') print('{}{}[{color}{msg}{}]{}'.format(Cursor.FORWARD(_ncols() - 8), Style.BRIGHT, Fore.RESET, Style.RESET_ALL, color=color, msg=msg[:6].upper().center(6))) sys.stdout.flush()
def enviarGenerar_datos(usuario1, usuario2, enviar, generar): from time import sleep init() if enviar == 1: print("Enviando Clave del Usuario", usuario1, "al Usuario", usuario2) if generar == 1: print("Generando Clave final para el usuario", usuario1, " ") for arch in range(101): sleep(0.01) print(Cursor.UP(1) + Cursor.FORWARD(42) + Fore.YELLOW + str(arch), "%") if enviar == 1: print( Cursor.UP(0) + Fore.GREEN + "----------------------> 'Enviado'" + Fore.RESET) if generar == 1: print( Cursor.UP(0) + Fore.GREEN + "..............'Hecho!'" + Fore.RESET)
def sistema(): global semaforo_total semaforo_total.acquire() borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(10) + Back.RED + Fore.WHITE + "================ INFORMACIÓN DE SISTEMA ==================" + Style.RESET_ALL) print( Cursor.FORWARD(10) + Cursor.DOWN(2) + Fore.RED + "Sistema : ", platform.system()) print(Cursor.FORWARD(10) + "Arquitectura de: ", platform.architecture()) print(Cursor.FORWARD(10) + "Máquina: ", platform.machine()) print(Cursor.FORWARD(10) + "Procesador: ", platform.processor()) print(Cursor.FORWARD(10) + "Red", platform.node()) print( Cursor.FORWARD(10) + "Versión de sistema operativo: ", platform.version()) print( Cursor.FORWARD(10) + "Versión de Python: ", platform.python_version()) sleep(5) semaforo_total.release()
def __print_information_to_console(self, flag): os.system("cls") process = self.__ready_process.getactual_process() self.__ready_process.print_queue( 1, 2, self.__queue_new_process.numberProcess()) print("\n") self.__listProcessFinish.printListCompleteOfProcess(80, 10) print("\n") print(Fore.RESET) print(Fore.LIGHTCYAN_EX + Cursor.FORWARD(46) + Cursor.UP(self.__cursorY) + "proceso en ejecucion", end="\n") print(Fore.RESET) if flag: self.__refreshVisualInformation(process) if self.__flag_unlock_process: self.__enqueue_process_bloqued_to_ready() self.__flag_unlock_process = False else: self.__statusOfInterruptionOutside(process) if not flag: self.__refreshVisualInformation(process) self.__listProcessFinish.print_table_bcp()
def main(self): self.clear() self.print_logo() print( Cursor.FORWARD(60) + Fore.CYAN + "Target -> " + Fore.WHITE + self.target) if self.target.startswith("http://"): self.target.replace("http://", "") elif self.target.startswith("https://"): self.target.replace("https://", "") self._r = builtwith.parse("http://" + self.target) if "web-servers" in self._r: print(self.c + "WebServer " + self.b + "~> ") for _ in self._r['web-servers']: print(self.g + _) time.sleep(0.05) if "font-scripts" in self._r: print(self.c + "Font Scripts " + self.b + "~> ") for _ in self._r['font-scripts']: print(self.g + _) time.sleep(0.05) if "tag-managers" in self._r: print(self.c + "Tag Managers " + self.b + "~> ") for _ in self._r['tag-managers']: print(self.g + _) time.sleep(0.05) if "cms" in self._r: print(self.c + "Cms " + self.b + "~> " + self.g + self._r['cms'][0]) time.sleep(0.05) if "blogs" in self._r: print(self.c + "Blogs " + self.b + "~> ") for _ in self._r['blogs']: print(self.g + _) time.sleep(0.05) if "programming-languages" in self._r: print(self.c + "Programming Languages " + self.b + "~> ") for _ in self._r['programming-languages']: print(self.g + _) time.sleep(0.05) if "javascript-frameworks" in self._r: print(self.c + "JavaScript FrameWorks" + self.b + "~> ") for _ in self._r['javascript-frameworks']: print(self.g + _) time.sleep(0.05) if "web-frameworks" in self._r: print(self.c + "Web FrameWorks " + self.b + "~> ") for _ in self._r['web-frameworks']: print(self.g + _) time.sleep(0.05) if "marketing-automation" in self._r: print(self.c + "Marketing AutoMation " + self.b + "~> ") for _ in self._r['marketing-automation']: print(self.g + _) if "video-players" in self._r: print(self.c + "Video Players " + self.b + "~> ") for _ in self._r['video-players']: print(self.g + _) time.sleep(0.05) if "cdn" in self._r: print(self.c + "Cdn " + self.b + "~> " + self.g + self._r['cdn'][0])
def CPU_INTERFAZ(): print(Style.BRIGHT + Fore.GREEN + Back.BLACK) print("Obteniendo...") for arch in ["MHz","ide","cores","model","Etcétera"]: sleep(.2) print(Cursor.UP(1)+Cursor.FORWARD(20) +str(arch))
def input(self): """ Non blocking input listener """ ret = [ord(b'\r')] if os.name == "nt" else [10, 13] backspace = [ord(b'\x08')] if os.name == "nt" else [127] mod = [0, ord(b'\xe0')] if os.name == "nt" else [27] puts = lambda x: self.log(x, end='') def backspace_f(n=1): puts( Cursor.BACK(n) + self.line[self.cursor_pos:] + ' ' * n + Cursor.BACK(len(self.line) - self.cursor_pos + n)) self.line = self.line[:self.cursor_pos - 1] + self.line[self.cursor_pos:] self.cursor_pos -= n if self.cursor_pos < 0: self.cursor_pos = 0 if kbhit(): c = getch() if c == None: return if c in ret: self.hist_up.append(self.line) self.line = '' self.cursor_pos = 0 puts('\n') return self.hist_up[-1] elif c in backspace: backspace_f() elif c in mod: if not os.name == 'nt': getch() c = getch() K = ord(b'K') if os.name == 'nt' else 68 M = ord(b'M') if os.name == 'nt' else 67 H = ord(b'H') if os.name == 'nt' else 65 P = ord(b'P') if os.name == 'nt' else 66 S = ord(b'S') if os.name == 'nt' else 51 if c == K and self.cursor_pos > 0: # left arrow self.cursor_pos -= 1 puts(Cursor.BACK()) elif c == M and self.cursor_pos < len( self.line): # right arrow self.cursor_pos += 1 puts(Cursor.FORWARD()) elif c == H and len(self.hist_up) > 0: # up arrow puts( Cursor.BACK(len(self.line[:self.cursor_pos])) + ' ' * len(self.line) + Cursor.BACK(len(self.line))) self.hist_down.append(self.line) self.line = self.hist_up.pop() self.log(self.line, end='') self.cursor_pos = len(self.line) elif c == P and len(self.hist_down) > 0: # down arrow puts( Cursor.BACK(len(self.line[:self.cursor_pos])) + ' ' * len(self.line) + Cursor.BACK(len(self.line))) self.hist_up.append(self.line) self.line = self.hist_down.pop() self.log(self.line, end='') self.cursor_pos = len(self.line) elif c == S and self.cursor_pos < len(self.line): #suppr if os.name != 'nt': getch() self.cursor_pos += 1 puts(Cursor.FORWARD()) backspace_f() else: c = chr(c) self.line = self.line[:self.cursor_pos] + c + self.line[ self.cursor_pos:] puts(self.line[self.cursor_pos:] + Cursor.BACK(len(self.line[self.cursor_pos:])) + Cursor.FORWARD()) self.cursor_pos += 1 return None
#!/usr/bin/env python3 from time import sleep from colorama import Cursor, init, Fore init() print("Copiando archivos... ") for arch in ["111", "222", "333", "444", "555"]: sleep(1) print(Cursor.UP(1) + Cursor.FORWARD(20) + Fore.YELLOW + str(arch)) print(Cursor.POS(25, 2) + Fore.GREEN + ">>> Proceso finalizado")
from colorama import Cursor up = lambda n=1: print(Cursor.UP(n), end="") down = lambda n=1: print(Cursor.DOWN(n), end="") left = lambda n=1: print(Cursor.BACK(n), end="") right = lambda n=1: print(Cursor.FORWARD(n), end="") pos = lambda x, y: print(Cursor.POS(x, y), end="") class cursor: def __init__(self): pos(0, 0) self.x = 0 self.y = 0 self.saved_positions = {} def down(self, n=1): self.y += n pos(self.x, self.y) def up(self, n=1): self.y -= n pos(self.x, self.y) def right(self, n=1): self.x += n pos(self.x, self.y) def left(self, n=1): self.x -= n
print(Cursor.UP(1) + "\n") for char in find: print(Fore.YELLOW + Back.BLUE + char, end="", flush=True) sleep(0.07) print(Back.RESET, Cursor.UP(1) + '\n') print( Fore.BLUE + Back.WHITE + "Searching: \"le meilleur alternant en Web Dev à Paris\"", emoji.emojize(':detective:')) for i in range(12): sleep(0.3) print(Cursor.UP(1) + Cursor.FORWARD(55) + "." * i) print("One Web Dev found!" + emoji.emojize(':man_technologist:')) sleep(2) print("Loading data....") sleep(2) print("Importing email: \"[email protected]\" ", emoji.emojize(':e-mail:'), emoji.emojize(':open_file_folder:') + '\n') sleep(0.7) for char in string_one: print(Fore.LIGHTGREEN_EX + Back.RESET + char, end="", flush=True) sleep(0.01) sleep(2) print("\nData loaded successfully!")
def ayuda(): borra_pantalla() print( Cursor.DOWN(5) + Cursor.FORWARD(5) + Back.BLUE + Fore.WHITE + "==================== AYUDA ===============\n\n" + Fore.WHITE) print(" 1 => Información de Sistema") print( Cursor.FORWARD(5) + "información sobre arquitectura, procesador, red, tipo, etc del sistema" ) print(" 2 => Información de Discos") print( Cursor.FORWARD(5) + "información sobre nombre, capacidad y montaje de discos del sistema") print(" 3 => Información de Procesos") print( Cursor.FORWARD(5) + "información sobre procesos en ejecución en el sistema") print(" 4 => Información de Memoria") print( Cursor.FORWARD(5) + "información sobre memoria RAM y memoria total del sistema") print(" 5 => Información de CPU") print( Cursor.FORWARD(5) + "información sobre arquitectura, numero, familia de la CPU del sistema" ) print(" 6 => Información de los buses PCI y los puertos USB") print( Cursor.FORWARD(5) + "información sobre los buses PCI y los puertos USB del sistema") print(" 7 => Información de la tarjeta de Red") print( Cursor.FORWARD(5) + "información sobre ip, dirección MAC de las tarjetas de red del sistema" ) print(" 8 => Información de los sensores de la máquina") print(Cursor.FORWARD(5) + "información sobre temperatura del sistema") print(" 9 => Análisis general del sistema") print(Cursor.FORWARD(5) + "Realiza todas las funciones anteriores") print( Cursor.FORWARD(5) + "\nPara seleccionar una opción teclea el número correspondiente y presiona la tecla enter ;) " ) espera = input("\npresiona enter para volver al menu... ") print(Style.RESET_ALL)