mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-07 13:41:15 -07:00
Refactor update check
This commit is contained in:
parent
4f4a66f7e7
commit
13dac9c1ea
5 changed files with 29 additions and 15 deletions
|
@ -43,18 +43,18 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="ajaxMsg" class="ajaxMsg"></div>
|
<div id="ajaxMsg" class="ajaxMsg"></div>
|
||||||
% if _session['user_group'] == 'admin':
|
% if _session['user_group'] == 'admin':
|
||||||
% if plexpy.CONFIG.CHECK_GITHUB and not plexpy.CURRENT_VERSION:
|
% if plexpy.CONFIG.CHECK_GITHUB and plexpy.UPDATE_AVAILABLE is None:
|
||||||
<div id="updatebar" style="display: none;">
|
<div id="updatebar" style="display: none;">
|
||||||
You are running an unknown version of Tautulli.<br />
|
You are running an unknown version of Tautulli.<br />
|
||||||
<a href="update">Update</a> or <a href="#" id="updateDismiss">Dismiss</a>
|
<a href="update">Update</a> or <a href="#" id="updateDismiss">Dismiss</a>
|
||||||
</div>
|
</div>
|
||||||
% elif plexpy.CONFIG.CHECK_GITHUB and plexpy.COMMITS_BEHIND > 0 and plexpy.common.BRANCH in ('master', 'beta') and plexpy.common.RELEASE != plexpy.LATEST_RELEASE:
|
% elif plexpy.CONFIG.CHECK_GITHUB and plexpy.UPDATE_AVAILABLE == 'release':
|
||||||
<div id="updatebar" style="display: none;">
|
<div id="updatebar" style="display: none;">
|
||||||
A <a href="${anon_url('https://github.com/%s/%s/releases/tag/%s' % (plexpy.CONFIG.GIT_USER, plexpy.CONFIG.GIT_REPO, plexpy.LATEST_RELEASE))}" target="_blank">
|
A <a href="${anon_url('https://github.com/%s/%s/releases/tag/%s' % (plexpy.CONFIG.GIT_USER, plexpy.CONFIG.GIT_REPO, plexpy.LATEST_RELEASE))}" target="_blank">
|
||||||
new release (${plexpy.LATEST_RELEASE})</a> of Tautulli is available!<br />
|
new release (${plexpy.LATEST_RELEASE})</a> of Tautulli is available!<br />
|
||||||
<a href="update">Update</a> or <a href="#" id="updateDismiss">Dismiss</a>
|
<a href="update">Update</a> or <a href="#" id="updateDismiss">Dismiss</a>
|
||||||
</div>
|
</div>
|
||||||
% elif plexpy.CONFIG.CHECK_GITHUB and plexpy.COMMITS_BEHIND > 0 and plexpy.CURRENT_VERSION != plexpy.LATEST_VERSION and plexpy.INSTALL_TYPE != 'win':
|
% elif plexpy.CONFIG.CHECK_GITHUB and plexpy.UPDATE_AVAILABLE == 'commit':
|
||||||
<div id="updatebar" style="display: none;">
|
<div id="updatebar" style="display: none;">
|
||||||
A <a href="${anon_url('https://github.com/%s/%s/compare/%s...%s' % (plexpy.CONFIG.GIT_USER, plexpy.CONFIG.GIT_REPO, plexpy.CURRENT_VERSION, plexpy.LATEST_VERSION))}" target="_blank">
|
A <a href="${anon_url('https://github.com/%s/%s/compare/%s...%s' % (plexpy.CONFIG.GIT_USER, plexpy.CONFIG.GIT_REPO, plexpy.CURRENT_VERSION, plexpy.LATEST_VERSION))}" target="_blank">
|
||||||
newer version</a> of Tautulli is available!<br />
|
newer version</a> of Tautulli is available!<br />
|
||||||
|
@ -140,7 +140,7 @@
|
||||||
<li><a href="#" data-target="#donate-modal" data-toggle="modal"><i class="fa fa-fw fa-heart"></i> Donate</a></li>
|
<li><a href="#" data-target="#donate-modal" data-toggle="modal"><i class="fa fa-fw fa-heart"></i> Donate</a></li>
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
% if plexpy.CONFIG.CHECK_GITHUB:
|
% if plexpy.CONFIG.CHECK_GITHUB:
|
||||||
<li><a href="#" id="nav-update"><i class="fa fa-fw fa-arrow-circle-up"></i> Check for Updates</a></li>
|
<li><a href="#" id="nav-update"><i class="fa fa-fw fa-arrow-alt-circle-up"></i> Check for Updates</a></li>
|
||||||
% endif
|
% endif
|
||||||
<li><a href="#" id="nav-restart"><i class="fa fa-fw fa-refresh"></i> Restart</a></li>
|
<li><a href="#" id="nav-restart"><i class="fa fa-fw fa-refresh"></i> Restart</a></li>
|
||||||
<li><a href="#" id="nav-shutdown"><i class="fa fa-fw fa-power-off"></i> Shutdown</a></li>
|
<li><a href="#" id="nav-shutdown"><i class="fa fa-fw fa-power-off"></i> Shutdown</a></li>
|
||||||
|
@ -362,7 +362,7 @@ ${next.modalIncludes()}
|
||||||
|
|
||||||
$('#nav-update').click(function () {
|
$('#nav-update').click(function () {
|
||||||
$(this).html('<i class="fa fa-fw fa-spin fa-refresh"></i> Checking');
|
$(this).html('<i class="fa fa-fw fa-spin fa-refresh"></i> Checking');
|
||||||
checkUpdate(function () { $('#nav-update').html('<i class="fa fa-fw fa-arrow-circle-up"></i> Check for Updates'); });
|
checkUpdate(function () { $('#nav-update').html('<i class="fa fa-fw fa-arrow-alt-circle-up"></i> Check for Updates'); });
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#donation_type a.crypto-donation').on('shown.bs.tab', function () {
|
$('#donation_type a.crypto-donation').on('shown.bs.tab', function () {
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
<button id="menu_link_show_advanced_settings" class="btn btn-dark"><i class="fa fa-wrench"></i> Show Advanced</button>
|
<button id="menu_link_show_advanced_settings" class="btn btn-dark"><i class="fa fa-wrench"></i> Show Advanced</button>
|
||||||
% endif
|
% endif
|
||||||
% if config['check_github']:
|
% if config['check_github']:
|
||||||
<button id="menu_link_update_check" class="btn btn-dark"><i class="fa fa-arrow-circle-up"></i> Check for Updates</button>
|
<button id="menu_link_update_check" class="btn btn-dark"><i class="fa fa-arrow-alt-circle-up"></i> Check for Updates</button>
|
||||||
% endif
|
% endif
|
||||||
<button id="menu_link_restart" class="btn btn-dark"><i class="fa fa-refresh"></i> Restart</button>
|
<button id="menu_link_restart" class="btn btn-dark"><i class="fa fa-refresh"></i> Restart</button>
|
||||||
<button id="menu_link_shutdown" class="btn btn-dark"><i class="fa fa-power-off"></i> Shutdown</button>
|
<button id="menu_link_shutdown" class="btn btn-dark"><i class="fa fa-power-off"></i> Shutdown</button>
|
||||||
|
@ -1937,7 +1937,7 @@ $(document).ready(function() {
|
||||||
$('#menu_link_update_check').click(function() {
|
$('#menu_link_update_check').click(function() {
|
||||||
$(this).html('<i class="fa fa-spin fa-refresh"></i> Checking').prop('disabled', true);
|
$(this).html('<i class="fa fa-spin fa-refresh"></i> Checking').prop('disabled', true);
|
||||||
checkUpdate(function () {
|
checkUpdate(function () {
|
||||||
$('#menu_link_update_check').html('<i class="fa fa-arrow-circle-up"></i> Check for Updates')
|
$('#menu_link_update_check').html('<i class="fa fa-arrow-alt-circle-up"></i> Check for Updates')
|
||||||
.prop('disabled', false);
|
.prop('disabled', false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -92,6 +92,7 @@ LATEST_VERSION = None
|
||||||
COMMITS_BEHIND = None
|
COMMITS_BEHIND = None
|
||||||
PREV_RELEASE = None
|
PREV_RELEASE = None
|
||||||
LATEST_RELEASE = None
|
LATEST_RELEASE = None
|
||||||
|
UPDATE_AVAILABLE = False
|
||||||
|
|
||||||
UMASK = None
|
UMASK = None
|
||||||
|
|
||||||
|
@ -259,7 +260,7 @@ def initialize(config_file):
|
||||||
# Check for new versions
|
# Check for new versions
|
||||||
if CONFIG.CHECK_GITHUB_ON_STARTUP and CONFIG.CHECK_GITHUB:
|
if CONFIG.CHECK_GITHUB_ON_STARTUP and CONFIG.CHECK_GITHUB:
|
||||||
try:
|
try:
|
||||||
LATEST_VERSION = versioncheck.check_github()
|
LATEST_VERSION = versioncheck.check_update()
|
||||||
except:
|
except:
|
||||||
logger.exception(u"Unhandled exception")
|
logger.exception(u"Unhandled exception")
|
||||||
LATEST_VERSION = CURRENT_VERSION
|
LATEST_VERSION = CURRENT_VERSION
|
||||||
|
@ -421,7 +422,7 @@ def initialize_scheduler():
|
||||||
# Update check
|
# Update check
|
||||||
github_minutes = CONFIG.CHECK_GITHUB_INTERVAL if CONFIG.CHECK_GITHUB_INTERVAL and CONFIG.CHECK_GITHUB else 0
|
github_minutes = CONFIG.CHECK_GITHUB_INTERVAL if CONFIG.CHECK_GITHUB_INTERVAL and CONFIG.CHECK_GITHUB else 0
|
||||||
|
|
||||||
schedule_job(versioncheck.check_github, 'Check GitHub for updates',
|
schedule_job(versioncheck.check_update, 'Check GitHub for updates',
|
||||||
hours=0, minutes=github_minutes, seconds=0, args=(bool(CONFIG.PLEXPY_AUTO_UPDATE), True))
|
hours=0, minutes=github_minutes, seconds=0, args=(bool(CONFIG.PLEXPY_AUTO_UPDATE), True))
|
||||||
|
|
||||||
backup_hours = CONFIG.BACKUP_INTERVAL if 1 <= CONFIG.BACKUP_INTERVAL <= 24 else 6
|
backup_hours = CONFIG.BACKUP_INTERVAL if 1 <= CONFIG.BACKUP_INTERVAL <= 24 else 6
|
||||||
|
|
|
@ -131,6 +131,21 @@ def getVersion():
|
||||||
return None, 'origin', common.BRANCH
|
return None, 'origin', common.BRANCH
|
||||||
|
|
||||||
|
|
||||||
|
def check_update(auto_update=False, notify=False):
|
||||||
|
check_github(auto_update=auto_update, notify=notify)
|
||||||
|
|
||||||
|
if not plexpy.CURRENT_VERSION:
|
||||||
|
plexpy.UPDATE_AVAILABLE = None
|
||||||
|
elif plexpy.COMMITS_BEHIND > 0 and plexpy.common.BRANCH in ('master', 'beta') and \
|
||||||
|
plexpy.common.RELEASE != plexpy.LATEST_RELEASE:
|
||||||
|
plexpy.UPDATE_AVAILABLE = 'release'
|
||||||
|
elif plexpy.COMMITS_BEHIND > 0 and plexpy.CURRENT_VERSION != plexpy.LATEST_VERSION and \
|
||||||
|
plexpy.INSTALL_TYPE != 'win':
|
||||||
|
plexpy.UPDATE_AVAILABLE = 'commit'
|
||||||
|
else:
|
||||||
|
plexpy.UPDATE_AVAILABLE = False
|
||||||
|
|
||||||
|
|
||||||
def check_github(auto_update=False, notify=False):
|
def check_github(auto_update=False, notify=False):
|
||||||
plexpy.COMMITS_BEHIND = 0
|
plexpy.COMMITS_BEHIND = 0
|
||||||
|
|
||||||
|
|
|
@ -3803,16 +3803,15 @@ class WebInterface(object):
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
versioncheck.check_github()
|
versioncheck.check_update()
|
||||||
|
|
||||||
if not plexpy.CURRENT_VERSION:
|
if plexpy.UPDATE_AVAILABLE is None:
|
||||||
return {'result': 'error',
|
return {'result': 'error',
|
||||||
'update': None,
|
'update': None,
|
||||||
'message': 'You are running an unknown version of Tautulli.'
|
'message': 'You are running an unknown version of Tautulli.'
|
||||||
}
|
}
|
||||||
|
|
||||||
elif plexpy.COMMITS_BEHIND > 0 and plexpy.common.BRANCH in ('master', 'beta') and \
|
elif plexpy.UPDATE_AVAILABLE == 'release':
|
||||||
plexpy.common.RELEASE != plexpy.LATEST_RELEASE:
|
|
||||||
return {'result': 'success',
|
return {'result': 'success',
|
||||||
'update': True,
|
'update': True,
|
||||||
'release': True,
|
'release': True,
|
||||||
|
@ -3825,8 +3824,7 @@ class WebInterface(object):
|
||||||
plexpy.LATEST_RELEASE))
|
plexpy.LATEST_RELEASE))
|
||||||
}
|
}
|
||||||
|
|
||||||
elif plexpy.COMMITS_BEHIND > 0 and plexpy.CURRENT_VERSION != plexpy.LATEST_VERSION and \
|
elif plexpy.UPDATE_AVAILABLE == 'commit':
|
||||||
plexpy.INSTALL_TYPE != 'win':
|
|
||||||
return {'result': 'success',
|
return {'result': 'success',
|
||||||
'update': True,
|
'update': True,
|
||||||
'release': False,
|
'release': False,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue