From ed377261a2d7c3c5e09abc081935a230d2536b8a Mon Sep 17 00:00:00 2001 From: eval Nya <60149113+nexplorer-3e@users.noreply.github.com> Date: Mon, 3 Jul 2023 23:54:46 +0800 Subject: [PATCH] feat: add qwqfetch backend --- hyfetch/main.py | 2 +- hyfetch/neofetch_util.py | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/hyfetch/main.py b/hyfetch/main.py index 14f71aed..3462e06d 100755 --- a/hyfetch/main.py +++ b/hyfetch/main.py @@ -308,7 +308,7 @@ def create_parser() -> argparse.ArgumentParser: parser.add_argument('-C', '--config-file', dest='config_file', default=CONFIG_PATH, help=f'Use another config file') parser.add_argument('-p', '--preset', help=f'Use preset', choices=list(PRESETS.keys())) parser.add_argument('-m', '--mode', help=f'Color mode', choices=['8bit', 'rgb']) - parser.add_argument('-b', '--backend', help=f'Choose a *fetch backend', choices=['neofetch', 'fastfetch', 'fastfetch-old']) + parser.add_argument('-b', '--backend', help=f'Choose a *fetch backend', choices=['qwqfetch', 'neofetch', 'fastfetch', 'fastfetch-old']) parser.add_argument('--args', help=f'Additional arguments pass-through to backend') parser.add_argument('--c-scale', dest='scale', help=f'Lighten colors by a multiplier', type=float) parser.add_argument('--c-set-l', dest='light', help=f'Set lightness value of the colors', type=float) diff --git a/hyfetch/neofetch_util.py b/hyfetch/neofetch_util.py index 5a579491..0dd4e26f 100644 --- a/hyfetch/neofetch_util.py +++ b/hyfetch/neofetch_util.py @@ -345,8 +345,30 @@ def run(asc: str, backend: BackendLiteral, args: str = ''): return run_fastfetch(asc, args) if backend == "fastfetch-old": return run_fastfetch(asc, args, legacy=True) + if backend == "qwqfetch": + return run_qwqfetch(asc, args) +def run_neofetch(asc: str, args: str = ''): + """ + Run neofetch with colors + + :param preset: Color palette + :param alignment: Color alignment settings + """ + asc = asc.replace('\\', '\\\\') + + # call qwqfetch to print string + try: + from qwqfetch import src + # distro_detector only return a bash variable + # so we use qwqfetch builtin distro detector + print(src.get_result(asc)) + except ImportError as e: # module not found etc + print("qwqfetch is not installed. Install it by executing:") # use print to output hint directly + print("pip install git+https://github.com/nexplorer-3e/qwqfetch") # TODO: public repo + raise e + def run_neofetch(asc: str, args: str = ''): """ Run neofetch with colors