constants.py 834 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from __future__ import annotations
  2. import os
  3. from dataclasses import dataclass
  4. from pathlib import Path
  5. CONFIG_PATH = Path.home() / '.config/hyfetch.json'
  6. VERSION = '1.0.7'
  7. # Obtain terminal size
  8. try:
  9. TERM_LEN = os.get_terminal_size().columns
  10. except Exception:
  11. TERM_LEN = 40
  12. TEST_ASCII = r"""
  13. |\___/|
  14. ) (
  15. =\ /=
  16. )===(
  17. / \
  18. | |
  19. / {txt} \
  20. \ /
  21. _/\_ _/_/\_
  22. | |( ( | |
  23. | | ) ) | |
  24. | |(_( | |""".strip('\n')
  25. TEST_ASCII_WIDTH = max(len(line) for line in TEST_ASCII.split('\n'))
  26. @dataclass
  27. class GlobalConfig:
  28. # Global color mode default to 8-bit for compatibility
  29. color_mode: str
  30. override_distro: str | None
  31. debug: bool
  32. is_light: bool
  33. GLOBAL_CFG = GlobalConfig(color_mode='8bit', override_distro=None, debug=False, is_light=False)