Add setting to enable static newsletter URL

This commit is contained in:
JonnyWong16 2018-05-07 20:39:04 -07:00
parent 19cf567366
commit 84406e6797
5 changed files with 18 additions and 9 deletions

View file

@ -525,7 +525,7 @@ NEWSLETTER_PARAMETERS = [
{'name': 'Newsletter Time Frame', 'type': 'int', 'value': 'newsletter_time_frame', 'description': 'The time frame included in the newsletter.'},
{'name': 'Newsletter Time Frame Units', 'type': 'str', 'value': 'newsletter_time_frame_units', 'description': 'The time frame units included in the newsletter.'},
{'name': 'Newsletter URL', 'type': 'str', 'value': 'newsletter_url', 'description': 'The self-hosted URL to the newsletter.'},
{'name': 'Newsletter Latest URL', 'type': 'str', 'value': 'newsletter_latest_url', 'description': 'The self-hosted URL to the latest scheduled newsletter for the agent.'},
{'name': 'Newsletter Static URL', 'type': 'str', 'value': 'newsletter_static_url', 'description': 'The static self-hosted URL to the latest scheduled newsletter for the agent.'},
{'name': 'Newsletter UUID', 'type': 'str', 'value': 'newsletter_uuid', 'description': 'The unique identifier for the newsletter.'},
{'name': 'Newsletter ID', 'type': 'int', 'value': 'newsletter_id', 'description': 'The ID number for the newsletter agent.'},
]

View file

@ -316,6 +316,7 @@ _CONFIG_DEFINITIONS = {
'NEWSLETTER_TEMPLATES': (str, 'Newsletter', 'newsletters'),
'NEWSLETTER_DIR': (str, 'Newsletter', ''),
'NEWSLETTER_SELF_HOSTED': (int, 'Newsletter', 0),
'NEWSLETTER_STATIC_URL': (int, 'Newsletter', 0),
'NMA_APIKEY': (str, 'NMA', ''),
'NMA_ENABLED': (int, 'NMA', 0),
'NMA_PRIORITY': (int, 'NMA', 0),

View file

@ -453,9 +453,9 @@ class Newsletter(object):
if '<!-- IGNORE SAVE -->' not in line:
n_file.write(line + '\r\n')
logger.info(u"Tautulli Newsletters :: %s newsletter saved to %s" % (self.NAME, newsletter_file))
logger.info(u"Tautulli Newsletters :: %s newsletter saved to '%s'" % (self.NAME, newsletter_file))
except OSError as e:
logger.error(u"Tautulli Newsletters :: Failed to save %s newsletter to %s: %s"
logger.error(u"Tautulli Newsletters :: Failed to save %s newsletter to '%s': %s"
% (self.NAME, newsletter_file, e))
def _send(self):
@ -501,7 +501,7 @@ class Newsletter(object):
'newsletter_time_frame': self.config['time_frame'],
'newsletter_time_frame_units': self.config['time_frame_units'],
'newsletter_url': base_url + self.uuid,
'newsletter_latest_url': base_url + 'id/' + str(self.newsletter_id),
'newsletter_static_url': base_url + 'id/' + str(self.newsletter_id),
'newsletter_uuid': self.uuid,
'newsletter_id': self.newsletter_id
}

View file

@ -2756,6 +2756,7 @@ class WebInterface(object):
"show_advanced_settings": plexpy.CONFIG.SHOW_ADVANCED_SETTINGS,
"newsletter_dir": plexpy.CONFIG.NEWSLETTER_DIR,
"newsletter_self_hosted": checked(plexpy.CONFIG.NEWSLETTER_SELF_HOSTED),
"newsletter_static_url": checked(plexpy.CONFIG.NEWSLETTER_STATIC_URL),
"newsletter_custom_dir": plexpy.CONFIG.NEWSLETTER_CUSTOM_DIR
}
@ -2778,7 +2779,7 @@ class WebInterface(object):
"allow_guest_access", "cache_images", "http_proxy", "http_basic_auth", "notify_concurrent_by_ip",
"history_table_activity", "plexpy_auto_update",
"themoviedb_lookup", "tvmaze_lookup", "http_plex_admin",
"newsletter_self_hosted"
"newsletter_self_hosted", "newsletter_static_url"
]
for checked_config in checked_configs:
if checked_config not in kwargs:
@ -5665,7 +5666,7 @@ class WebInterface(object):
cherrypy.response.headers['Cache-Control'] = 'max-age=2592000' # 30 days
return self.image(args[1], refresh=True)
if len(args) >= 2 and args[0] == 'id':
if plexpy.CONFIG.NEWSLETTER_STATIC_URL and len(args) >= 2 and args[0] == 'id':
newsletter_id = args[1]
newsletter_uuid = None
else: