From eb8c9313ba52401e6aab270637cf95ac23afa04c Mon Sep 17 00:00:00 2001 From: BarsTiger Date: Sat, 9 Apr 2022 09:57:14 +0300 Subject: [PATCH] Added finding process name by PID and PID by process name --- daun.py | 26 ++++++++++++++++++-------- modules/process.py | 12 +++++++++++- sizes.txt | 10 ++++++++-- 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/daun.py b/daun.py index 7860088..69690cf 100644 --- a/daun.py +++ b/daun.py @@ -24,24 +24,26 @@ parser.add_argument('--get-proc-path', help='get path to process by name or PID' metavar='daun.exe', dest='get_proc_path') parser.add_argument('--kill-proc', help='kill process by PID or name', metavar='daun.exe', dest='kill_proc') +parser.add_argument('--pid', help='get pid by name or name by pid', + metavar='daun.exe') args = parser.parse_args() - if args.add_path: from modules import path + path.add_to_path(program_path=args.add_path) print('Added {} to path'.format(args.add_path)) - if args.add_var: from modules import path + path.add_var(program_path=args.add_var[1], name=args.add_var[0]) print('Added {0} to environment with value {1}'.format(args.add_var[0], args.add_var[1])) - if args.screenshot: from modules import screenshot + if args.screenshot == 'imgur': if args.imgur_client_id: print(screenshot.upload_to_imgur(client_id=args.imgur_client_id)) @@ -50,33 +52,41 @@ if args.screenshot: else: print(screenshot.save_screenshot(filename=args.screenshot)) - if args.wp_control: from modules.wallpaperengine import control_we - control_we(args.wp_control) + control_we(args.wp_control) if args.set_wallpaper: from modules.wallpaper import set_wallpaper - set_wallpaper(args.set_wallpaper) + set_wallpaper(args.set_wallpaper) if args.download: from modules.download import download - download(args.download[0], args.download[1]) + download(args.download[0], args.download[1]) if args.get_proc_path: from modules.process import get_location + try: print(get_location(pid=int(args.get_proc_path))) except ValueError: print(get_location(process_name=args.get_proc_path)) - if args.kill_proc: from modules.process import kill + try: kill(pid=int(args.kill_proc)) except ValueError: kill(process_name=args.kill_proc) + +if args.pid: + from modules.process import get_pid, get_name + + try: + print(get_name(pid=int(args.pid))) + except ValueError: + print(get_pid(process_name=args.pid)) diff --git a/modules/process.py b/modules/process.py index d8c774c..0437711 100644 --- a/modules/process.py +++ b/modules/process.py @@ -9,7 +9,17 @@ def get_pid(process_name: str) -> int: if process_name: for proc in psutil.process_iter(): if process_name == proc.name(): - return proc.pid + return proc.pid if proc.pid != psutil.Process().pid else None + + +def get_name(pid: int) -> str: + """ + Get the name of a process by PID + """ + try: + return psutil.Process(pid).name() + except psutil.NoSuchProcess: + return "Not found" def get_location(process_name: str = None, pid: int = None) -> str: diff --git a/sizes.txt b/sizes.txt index dfc77c8..aca4cc7 100644 --- a/sizes.txt +++ b/sizes.txt @@ -1,2 +1,8 @@ -base - 7 776 328 b - 7.6 Mb -path - 1 089 b - 1 Kb \ No newline at end of file +base - 7 987 624 b - 7.61 Mb +path - 1 153 b - 1 Kb +screenshot - 3 058 979 b - 2.9 Mb +wallpaper engine control - 305 240 b - 0.3 Mb +wallpapers - 3 001 867 b - 2.8 Mb +downloader - 3 001 738 b - 2.8 Mb +process actions - 304 984 b - 0.29 Mb +all modules - 3 366 270 b - 3.2 Mb \ No newline at end of file