mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-10 23:42:37 -07:00
Add message for missing Pillow library
This commit is contained in:
parent
46f7a92c97
commit
46f26cc307
4 changed files with 28 additions and 27 deletions
|
@ -2,6 +2,7 @@
|
||||||
<%!
|
<%!
|
||||||
import json
|
import json
|
||||||
from plexpy import helpers, notifiers
|
from plexpy import helpers, notifiers
|
||||||
|
from plexpy.notification_handler import PILLOW
|
||||||
|
|
||||||
email_notifiers = [n for n in notifiers.get_notifiers() if n['agent_name'] == 'email']
|
email_notifiers = [n for n in notifiers.get_notifiers() if n['agent_name'] == 'email']
|
||||||
sorted(email_notifiers, key=lambda k: (k['agent_label'], k['friendly_name'], k['id']))
|
sorted(email_notifiers, key=lambda k: (k['agent_label'], k['friendly_name'], k['id']))
|
||||||
|
|
|
@ -478,6 +478,7 @@ def start():
|
||||||
analytics_event(category='system', action='start')
|
analytics_event(category='system', action='start')
|
||||||
|
|
||||||
# Schedule newsletters
|
# Schedule newsletters
|
||||||
|
newsletter_handler.NEWSLETTER_SCHED.start()
|
||||||
newsletter_handler.schedule_newsletters()
|
newsletter_handler.schedule_newsletters()
|
||||||
|
|
||||||
_STARTED = True
|
_STARTED = True
|
||||||
|
|
|
@ -28,11 +28,6 @@ NEWSLETTER_SCHED = BackgroundScheduler()
|
||||||
|
|
||||||
|
|
||||||
def schedule_newsletters(newsletter_id=None):
|
def schedule_newsletters(newsletter_id=None):
|
||||||
with plexpy.SCHED_LOCK:
|
|
||||||
|
|
||||||
# Check if scheduler should be started
|
|
||||||
start_jobs = not len(NEWSLETTER_SCHED.get_jobs())
|
|
||||||
|
|
||||||
newsletters_list = newsletters.get_newsletters(newsletter_id=newsletter_id)
|
newsletters_list = newsletters.get_newsletters(newsletter_id=newsletter_id)
|
||||||
|
|
||||||
for newsletter in newsletters_list:
|
for newsletter in newsletters_list:
|
||||||
|
@ -40,29 +35,18 @@ def schedule_newsletters(newsletter_id=None):
|
||||||
newsletter['friendly_name'] or newsletter['id'])
|
newsletter['friendly_name'] or newsletter['id'])
|
||||||
|
|
||||||
if newsletter['active']:
|
if newsletter['active']:
|
||||||
keys = ['minute', 'hour', 'day', 'month', 'day_of_week']
|
|
||||||
values = newsletter['cron'].split()
|
|
||||||
cron = {k: v for k, v in zip(keys, values)}
|
|
||||||
|
|
||||||
schedule_newsletter_job('newsletter-{}'.format(newsletter['id']), name=newsletter_job_name,
|
schedule_newsletter_job('newsletter-{}'.format(newsletter['id']), name=newsletter_job_name,
|
||||||
func=notify, args=[newsletter['id'], 'on_cron'], cron=newsletter['cron'])
|
func=notify, args=[newsletter['id'], 'on_cron'], cron=newsletter['cron'])
|
||||||
else:
|
else:
|
||||||
schedule_newsletter_job('newsletter-{}'.format(newsletter['id']), name=newsletter_job_name,
|
schedule_newsletter_job('newsletter-{}'.format(newsletter['id']), name=newsletter_job_name,
|
||||||
remove_job=True)
|
remove_job=True)
|
||||||
|
|
||||||
# Start scheduler
|
|
||||||
if start_jobs and len(NEWSLETTER_SCHED.get_jobs()):
|
|
||||||
try:
|
|
||||||
NEWSLETTER_SCHED.start()
|
|
||||||
except Exception as e:
|
|
||||||
logger.error(e)
|
|
||||||
|
|
||||||
|
|
||||||
def schedule_newsletter_job(newsletter_job_id, name='', func=None, remove_job=False, args=None, cron=None):
|
def schedule_newsletter_job(newsletter_job_id, name='', func=None, remove_job=False, args=None, cron=None):
|
||||||
if NEWSLETTER_SCHED.get_job(newsletter_job_id):
|
if NEWSLETTER_SCHED.get_job(newsletter_job_id):
|
||||||
if remove_job:
|
if remove_job:
|
||||||
NEWSLETTER_SCHED.remove_job(newsletter_job_id)
|
NEWSLETTER_SCHED.remove_job(newsletter_job_id)
|
||||||
logger.info(u"Tautulli NewsletterHandler :: Removed newsletter schedule: %s" % newsletter_job_id)
|
logger.info(u"Tautulli NewsletterHandler :: Removed scheduled newsletter: %s" % name)
|
||||||
else:
|
else:
|
||||||
NEWSLETTER_SCHED.reschedule_job(
|
NEWSLETTER_SCHED.reschedule_job(
|
||||||
newsletter_job_id, args=args, trigger=CronTrigger().from_crontab(cron))
|
newsletter_job_id, args=args, trigger=CronTrigger().from_crontab(cron))
|
||||||
|
|
|
@ -587,4 +587,19 @@ class RecentlyAdded(Newsletter):
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if not PILLOW:
|
||||||
|
pillow_message = {
|
||||||
|
'label': 'Background Art',
|
||||||
|
'description': 'The Pillow library is missing. '
|
||||||
|
'Background art on the newsletter media cards will not be included.<br>'
|
||||||
|
'Install the Pillow library to add background art. '
|
||||||
|
'Instructions can be found in the '
|
||||||
|
'<a href="' + helpers.anon_url('https://github.com/%s/plexpy/wiki/'
|
||||||
|
'Frequently-Asked-Questions-(FAQ)#notifications-pillow'
|
||||||
|
% plexpy.CONFIG.GIT_USER) + '" target="_blank">FAQ</a>.',
|
||||||
|
'name': 'recently_added_pillow',
|
||||||
|
'input_type': 'help'
|
||||||
|
}
|
||||||
|
config_option.insert(0, pillow_message)
|
||||||
|
|
||||||
return config_option
|
return config_option
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue