Files
FastAnime/fastanime/cli/utils/tools.py
2024-08-19 10:51:39 +03:00

38 lines
1.0 KiB
Python

# TODO: add typing
class FastAnimeRuntimeState(dict):
"""A class that manages fastanime runtime during anilist command runtime"""
def __getattr__(self, attr):
try:
return self.__getitem__(attr)
except KeyError:
raise AttributeError(
"%r object has no attribute %r" % (self.__class__.__name__, attr)
)
def __setattr__(self, attr, value):
self.__setitem__(attr, value)
def exit_app(exit_code=0, *args):
import sys
from rich.console import Console
from ...constants import APP_NAME, ICON_PATH, USER_NAME
console = Console()
if not console.is_terminal:
from plyer import notification
notification.notify(
app_name=APP_NAME,
app_icon=ICON_PATH,
message=f"Have a good day {USER_NAME}",
title="Shutting down",
) # pyright:ignore
else:
console.clear()
console.print("Have a good day :smile:", USER_NAME)
sys.exit(exit_code)