選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

43 行
1012 B

  1. #!/usr/bin/env python3
  2. from datetime import datetime, date
  3. import pytz
  4. from termcolor import colored as do_color
  5. from sys import stderr
  6. from importlib.metadata import version
  7. KOSMORRO_VERSION = version("kosmorro")
  8. KOSMORROLIB_VERSION = version("kosmorrolib")
  9. global _COLORS_ACTIVATED
  10. def set_colors_activated(activated: bool):
  11. global _COLORS_ACTIVATED
  12. _COLORS_ACTIVATED = activated
  13. def colored(text, color=None, on_color=None, attrs=None):
  14. """Decorator to use colors only when they are activated"""
  15. if not _COLORS_ACTIVATED:
  16. return text
  17. return do_color(text, color, on_color, attrs)
  18. def print_stderr(*values: object):
  19. print(*values, file=stderr)
  20. def get_timezone(value: int | str, dt: datetime | date) -> float:
  21. try:
  22. timezone = float(value)
  23. except ValueError:
  24. if isinstance(dt, date):
  25. dt = datetime.combine(dt, datetime.min.time())
  26. timezone = pytz.timezone(value).utcoffset(dt).total_seconds() / 3600
  27. return timezone