Easy arguments handler

pull/116/head
j_umar 2020-09-12 12:33:50 +00:00
parent 1e23535aab
commit cfe8eeed9a
1 changed files with 15 additions and 24 deletions

View File

@ -19,6 +19,7 @@
import os, sys, threading, signal, re, subprocess, logging, logging.handlers import os, sys, threading, signal, re, subprocess, logging, logging.handlers
import urllib.request import urllib.request
import argparse
from time import time, sleep, strftime, localtime from time import time, sleep, strftime, localtime
from datetime import timedelta from datetime import timedelta
from _thread import interrupt_main from _thread import interrupt_main
@ -59,37 +60,27 @@ if errors:
VERSION: str = "1.0.26" VERSION: str = "1.0.26"
#? Argument parser -------------------------------------------------------------------------------> #? Argument parser ------------------------------------------------------------------------------->
if len(sys.argv) > 1: args= argparse.ArgumentParser()
for arg in sys.argv[1:]: args.add_argument("-f" , "--full" ,action="store_true" ,help ="Start in full mode showing all boxes [default]")
if not arg in ["-m", "--mini", "-v", "--version", "-h", "--help", "--debug", "-f", "-p", "-s", "--full", "--proc", "--stat"]: args.add_argument("-p" , "--proc" ,action="store_true" ,help ="Start in minimal mode without memory and net boxes")
print(f'Unrecognized argument: {arg}\n' args.add_argument("-s" , "--stat" ,action="store_true" ,help ="Start in minimal mode without process box")
f'Use argument -h or --help for help') args.add_argument("-v" , "--version" ,action="store_true" ,help ="Show version info and exit")
raise SystemExit(1) args.add_argument("-D" , "--debug" ,action="store_true" ,help ="Start with loglevel set to DEBUG overriding value set in config")
stdargs = args.parse_args()
if "-h" in sys.argv or "--help" in sys.argv: if stdargs.version :
print(f'USAGE: {sys.argv[0]} [argument]\n\n'
f'Arguments:\n'
f' -f, --full Start in full mode showing all boxes [default]\n'
f' -p, --proc Start in minimal mode without memory and net boxes\n'
f' -s, --stat Start in minimal mode without process box\n'
f' -v, --version Show version info and exit\n'
f' -h, --help Show this help message and exit\n'
f' --debug Start with loglevel set to DEBUG overriding value set in config\n'
)
raise SystemExit(0)
elif "-v" in sys.argv or "--version" in sys.argv:
print(f'bpytop version: {VERSION}\n' print(f'bpytop version: {VERSION}\n'
f'psutil version: {".".join(str(x) for x in psutil.version_info)}') f'psutil version: {".".join(str(x) for x in psutil.version_info)}')
raise SystemExit(0) raise SystemExit(0)
ARG_MODE: str = "" ARG_MODE: str = ""
if "-f" in sys.argv or "--full" in sys.argv:
ARG_MODE = "full"
elif "-p" in sys.argv or "--proc" in sys.argv:
ARG_MODE = "proc"
elif "-s" in sys.argv or "--stat" in sys.argv:
ARG_MODE = "stat"
if stdargs.full:
ARG_MODE = "full"
elif stdargs.proc:
ARG_MODE = "proc"
elif stdargs.stat:
ARG_MODE = "stat"
#? Variables -------------------------------------------------------------------------------------> #? Variables ------------------------------------------------------------------------------------->
@ -217,7 +208,7 @@ THREADS: int = psutil.cpu_count(logical=True) or 1
THREAD_ERROR: int = 0 THREAD_ERROR: int = 0
if "--debug" in sys.argv: if stdargs.debug :
DEBUG = True DEBUG = True
else: else:
DEBUG = False DEBUG = False