Add message for missing Pillow library

This commit is contained in:
JonnyWong16 2018-01-13 21:48:33 -08:00
parent 46f7a92c97
commit 46f26cc307
4 changed files with 28 additions and 27 deletions

View file

@ -2,6 +2,7 @@
<%!
import json
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']
sorted(email_notifiers, key=lambda k: (k['agent_label'], k['friendly_name'], k['id']))

View file

@ -478,6 +478,7 @@ def start():
analytics_event(category='system', action='start')
# Schedule newsletters
newsletter_handler.NEWSLETTER_SCHED.start()
newsletter_handler.schedule_newsletters()
_STARTED = True

View file

@ -28,11 +28,6 @@ NEWSLETTER_SCHED = BackgroundScheduler()
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)
for newsletter in newsletters_list:
@ -40,29 +35,18 @@ def schedule_newsletters(newsletter_id=None):
newsletter['friendly_name'] or newsletter['id'])
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,
func=notify, args=[newsletter['id'], 'on_cron'], cron=newsletter['cron'])
else:
schedule_newsletter_job('newsletter-{}'.format(newsletter['id']), name=newsletter_job_name,
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):
if NEWSLETTER_SCHED.get_job(newsletter_job_id):
if remove_job:
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:
NEWSLETTER_SCHED.reschedule_job(
newsletter_job_id, args=args, trigger=CronTrigger().from_crontab(cron))

View file

@ -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