You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.3 KiB
32 lines
1.3 KiB
9 months ago
|
import subprocess
|
||
|
import sys
|
||
|
|
||
|
def obtener_descripcion_comando(comando):
|
||
|
try:
|
||
|
salida_man = subprocess.check_output(['man', comando], universal_newlines=True, stderr=subprocess.STDOUT)
|
||
|
|
||
|
inicio_descripcion = salida_man.find('DESCRIPTION')
|
||
|
fin_descripcion = salida_man.find('OPTIONS') if inicio_descripcion == -1 else salida_man.find('\n\n', inicio_descripcion)
|
||
|
|
||
|
descripcion = salida_man[inicio_descripcion:fin_descripcion].strip() if inicio_descripcion != -1 else "No se encontró descripción."
|
||
|
|
||
|
return descripcion, salida_man
|
||
|
except subprocess.CalledProcessError as e:
|
||
|
return f"Error al obtener descripción: {e.output.strip()}", None
|
||
|
|
||
|
def mostrar_mas_informacion(descripcion, descripcion_completa):
|
||
|
respuesta = input("¿Quieres más información? (s/n): ")
|
||
|
if respuesta.lower() == 's':
|
||
|
print("\nDescripción completa del comando:\n")
|
||
|
print(descripcion_completa)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
if len(sys.argv) != 2:
|
||
|
print("Uso: python programa.py <comando>")
|
||
|
else:
|
||
|
comando = sys.argv[1]
|
||
|
descripcion, descripcion_completa = obtener_descripcion_comando(comando)
|
||
|
|
||
|
print(f"\nDescripción del comando '{comando}':\n{descripcion[:300]}...\n")
|
||
|
mostrar_mas_informacion(descripcion, descripcion_completa)
|