greet.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. def grad(n):
  2. s = 0x08
  3. r = 0xff
  4. g = 0x00
  5. b = 0x00
  6. for i in range(n):
  7. if r >= s and b < s:
  8. r -= s
  9. g += s
  10. elif g >= s and r < s:
  11. g -= s
  12. b += s
  13. elif b >= s and g < s:
  14. b -= s
  15. r += s
  16. return f'#{r:02x}{g:02x}{b:02x}'
  17. zc_msg = r'''
  18. ||| . . _ _._|_ _. . . _ .__ _.. _. . __.. _ __. .
  19. ||| //\|/ |/_| | == / / \|/ |( /_||/ | | __||/ |/ \_|
  20. ||| \_/| |\_ |. \__\_/| |_) \_ | \/ |__|| |\__ _/
  21. |||
  22. ||| v{version}
  23. '''
  24. def fancy_greet(version):
  25. try:
  26. grad_greet(version)
  27. except ModuleNotFoundError:
  28. print(zc_msg.format(version=version))
  29. def grad_greet(version):
  30. from rich.console import Console
  31. from rich.text import Text
  32. lns = zc_msg.format(version=version).split('\n')
  33. console = Console()
  34. for l in lns:
  35. txt = Text(l)
  36. txt.stylize('bold')
  37. for i in range(len(l)):
  38. txt.stylize(grad(i), i, i+1)
  39. console.print(txt)