feat: make plyer an optional dependency

This commit is contained in:
Benex254
2024-09-22 21:50:41 +03:00
parent c6910e5a1c
commit 550fcfeddc
4 changed files with 45 additions and 6 deletions

View File

@@ -16,7 +16,12 @@ def notifier(config: "Config"):
from sys import exit
import requests
from plyer import notification
try:
from plyer import notification
except ImportError:
print("Please install plyer to use this command")
exit(1)
from ....anilist import AniList
from ....constants import APP_CACHE_DIR, APP_DATA_DIR, APP_NAME, ICON_PATH, PLATFORM

View File

@@ -37,8 +37,13 @@ def exit_app(exit_code=0, *args):
console = Console()
if not console.is_terminal:
from plyer import notification
try:
from plyer import notification
except ImportError:
print(
"Plyer is not installed; install it for desktop notifications to be enabled"
)
exit(1)
notification.notify(
app_name=APP_NAME,
app_icon=ICON_PATH,

View File

@@ -2,8 +2,6 @@ import subprocess
from shutil import which
from sys import exit
from plyer import notification
from fastanime import APP_NAME
from ...constants import ICON_PATH
@@ -35,6 +33,13 @@ class RofiApi:
choice = result.stdout.strip()
if not choice:
try:
from plyer import notification
except ImportError:
print(
"Plyer is not installed; install it for desktop notifications to be enabled"
)
exit(1)
notification.notify(
app_name=APP_NAME,
app_icon=ICON_PATH,
@@ -64,6 +69,13 @@ class RofiApi:
choice = result.stdout.strip()
if not choice or choice not in options:
try:
from plyer import notification
except ImportError:
print(
"Plyer is not installed; install it for desktop notifications to be enabled"
)
exit(1)
notification.notify(
app_name=APP_NAME,
app_icon=ICON_PATH,
@@ -91,6 +103,13 @@ class RofiApi:
choice = result.stdout.strip()
if not choice:
try:
from plyer import notification
except ImportError:
print(
"Plyer is not installed; install it for desktop notifications to be enabled"
)
exit(1)
notification.notify(
app_name=APP_NAME,
app_icon=ICON_PATH,
@@ -120,6 +139,13 @@ class RofiApi:
user_input = result.stdout.strip()
if not user_input:
try:
from plyer import notification
except ImportError:
print(
"Plyer is not installed; install it for desktop notifications to be enabled"
)
exit(1)
notification.notify(
app_name=APP_NAME,
app_icon=ICON_PATH,

View File

@@ -14,7 +14,10 @@ click = "^8.1.7"
inquirerpy = "^0.3.4"
thefuzz = "^0.22.1"
requests = "^2.32.3"
plyer = "^2.1.0"
plyer = { version = "^2.1.0", optional = true }
[tool.poetry.extras]
full = ["plyer"]
mpv = "^1.0.7"
[tool.poetry.group.dev.dependencies]