From a0db219ba34089cd64bbfe484d005c8824512e14 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Sun, 22 Dec 2024 00:27:22 -0500 Subject: [PATCH] [+] Rust launcher --- hyfetch/__main__.py | 26 ++++++++++++++++++++++++-- setup.py | 5 ++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/hyfetch/__main__.py b/hyfetch/__main__.py index f50c20c2..2750d868 100644 --- a/hyfetch/__main__.py +++ b/hyfetch/__main__.py @@ -1,9 +1,31 @@ +import os +import platform +from pathlib import Path + from . import main from .color_util import printc -if __name__ == '__main__': + +def run_py(): try: main.run() except KeyboardInterrupt: printc('&cThe program is interrupted by ^C, exiting...') - exit(0) \ No newline at end of file + exit(0) + + +def run_rust(): + # Find the rust executable + pd = Path(__file__).parent.joinpath('rust') + pd = pd.joinpath('hyfetch.exe' if platform.system() == 'Windows' else 'hyfetch') + if not pd.exists(): + printc('&cThe rust executable is not found, falling back to python...') + run_py() + return + + # Run the rust executable + os.system(str(pd)) + + +if __name__ == '__main__': + run_py() diff --git a/setup.py b/setup.py index 85d427ca..5c4c9486 100755 --- a/setup.py +++ b/setup.py @@ -6,6 +6,7 @@ from setuptools import setup, find_namespace_packages HERE = Path(__file__).parent # Load version without importing it (see issue #192 if you are confused) +VERSION = "" for l in (HERE / 'hyfetch' / '__version__.py').read_text().strip().splitlines(): exec(l) @@ -32,6 +33,7 @@ setup( "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ], packages=find_namespace_packages(exclude=("tools", "tools.*")), package_data={'hyfetch': ['hyfetch/*']}, @@ -46,7 +48,8 @@ setup( ], entry_points={ "console_scripts": [ - "hyfetch=hyfetch.main:run", + "hyfetch.py=hyfetch:run_py", + "hyfetch=hyfetch:run_rust", ] }, scripts=['hyfetch/scripts/neowofetch']