Show changelog on update

This commit is contained in:
JonnyWong16 2016-09-24 11:22:33 -07:00 committed by JonnyWong16
parent ef85fba2e5
commit 354700fcbb
5 changed files with 77 additions and 7 deletions

View file

@ -562,6 +562,7 @@ _CONFIG_DEFINITIONS = {
'TWITTER_ON_NEWDEVICE': (int, 'Twitter', 0),
'UPDATE_DB_INTERVAL': (int, 'General', 24),
'UPDATE_SECTION_IDS': (int, 'General', 1),
'UPDATE_SHOW_CHANGELOG': (int, 'General', 1),
'UPDATE_LABELS': (int, 'General', 1),
'VERIFY_SSL_CERT': (bool_int, 'Advanced', 1),
'VIDEO_LOGGING_ENABLE': (int, 'Monitoring', 1),

View file

@ -246,7 +246,7 @@ def update():
)
return
def read_changelog():
def read_changelog(latest_only=False):
changelog_file = os.path.join(plexpy.PROG_DIR, 'CHANGELOG.md')
@ -260,11 +260,20 @@ def read_changelog():
output = ''
lines = logfile.readlines()
previous_line = ''
latest_version_found = False
for line in lines:
if line[:2] == '# ':
output += '<h3>' + line[2:] + '</h3>'
#output += '<h3>' + line[2:] + '</h3>'
pass
elif line[:3] == '## ':
output += '<h4>' + line[3:] + '</h4>'
if latest_version_found:
break
elif latest_only:
output += '<h4>PlexPy ' + line[3:] + '</h4>'
latest_version_found = True
else:
output += '<h4>' + line[3:] + '</h4>'
elif line[:2] == '* ' and previous_line.strip() == '':
output += '<ul><li>' + line[2:] + '</li>'
elif line[:2] == '* ' and previous_line[:4] == ' * ':

View file

@ -175,7 +175,8 @@ class WebInterface(object):
"home_stats_cards": plexpy.CONFIG.HOME_STATS_CARDS,
"home_library_cards": plexpy.CONFIG.HOME_LIBRARY_CARDS,
"pms_identifier": plexpy.CONFIG.PMS_IDENTIFIER,
"pms_name": plexpy.CONFIG.PMS_NAME
"pms_name": plexpy.CONFIG.PMS_NAME,
"update_show_changelog": plexpy.CONFIG.UPDATE_SHOW_CHANGELOG
}
return serve_template(templatename="index.html", title="Home", config=config)
@ -3235,8 +3236,20 @@ class WebInterface(object):
@cherrypy.expose
@requireAuth(member_of("admin"))
def update(self, **kwargs):
# Show changelog after updating
plexpy.CONFIG.__setattr__('UPDATE_SHOW_CHANGELOG', 1)
plexpy.CONFIG.write()
return self.do_state_change('update', 'Updating', 120)
@cherrypy.expose
@requireAuth(member_of("admin"))
def get_changelog(self, latest_only=False, update_shown=False, **kwargs):
latest_only = True if latest_only == 'true' else False
# Set update changelog shown status
if update_shown == 'true':
plexpy.CONFIG.__setattr__('UPDATE_SHOW_CHANGELOG', 0)
plexpy.CONFIG.write()
return versioncheck.read_changelog(latest_only=latest_only)
##### Info #####