[+] Get bundled fastfetch path
This commit is contained in:
parent
a385480d89
commit
1c9480b764
1 changed files with 12 additions and 1 deletions
|
@ -24,6 +24,7 @@ from .serializer import from_dict
|
||||||
from .types import BackendLiteral, ColorAlignMode
|
from .types import BackendLiteral, ColorAlignMode
|
||||||
|
|
||||||
RE_NEOFETCH_COLOR = re.compile('\\${c[0-9]}')
|
RE_NEOFETCH_COLOR = re.compile('\\${c[0-9]}')
|
||||||
|
SRC = Path(__file__).parent
|
||||||
|
|
||||||
|
|
||||||
def literal_input(prompt: str, options: Iterable[str], default: str, show_ops: bool = True) -> str:
|
def literal_input(prompt: str, options: Iterable[str], default: str, show_ops: bool = True) -> str:
|
||||||
|
@ -401,6 +402,16 @@ def run_fastfetch(asc: str, args: str = '', legacy: bool = False):
|
||||||
:param args: Additional arguments to pass to fastfetch
|
:param args: Additional arguments to pass to fastfetch
|
||||||
:param legacy: Set true when using fastfetch < 1.8.0
|
:param legacy: Set true when using fastfetch < 1.8.0
|
||||||
"""
|
"""
|
||||||
|
# Find fastfetch binary
|
||||||
|
ff_path = (shutil.which('fastfetch')
|
||||||
|
or if_file(SRC / 'fastfetch/usr/bin/fastfetch')
|
||||||
|
or if_file(SRC / 'fastfetch/fastfetch')
|
||||||
|
or if_file(SRC / 'fastfetch/fastfetch.exe'))
|
||||||
|
|
||||||
|
if not ff_path:
|
||||||
|
printc("&cError: fastfetch binary is not found. Please install fastfetch first.")
|
||||||
|
exit(127)
|
||||||
|
|
||||||
# Write temp file
|
# Write temp file
|
||||||
with TemporaryDirectory() as tmp_dir:
|
with TemporaryDirectory() as tmp_dir:
|
||||||
tmp_dir = Path(tmp_dir)
|
tmp_dir = Path(tmp_dir)
|
||||||
|
@ -408,7 +419,7 @@ def run_fastfetch(asc: str, args: str = '', legacy: bool = False):
|
||||||
path.write_text(asc)
|
path.write_text(asc)
|
||||||
|
|
||||||
# Call fastfetch with the temp file
|
# Call fastfetch with the temp file
|
||||||
proc = subprocess.run(['fastfetch', '--raw' if legacy else '--file-raw', path.absolute(), *shlex.split(args)])
|
proc = subprocess.run([ff_path, '--raw' if legacy else '--file-raw', path.absolute(), *shlex.split(args)])
|
||||||
if proc.returncode == 144:
|
if proc.returncode == 144:
|
||||||
printc("&6Error code 144 detected: Please upgrade fastfetch to >=1.8.0 or use the 'fastfetch-old' backend")
|
printc("&6Error code 144 detected: Please upgrade fastfetch to >=1.8.0 or use the 'fastfetch-old' backend")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue