Fix for restart of newer versions of tornado during update

Fix for updater with Beta Versions
This commit is contained in:
Ozzieisaacs 2019-06-02 18:43:09 +02:00
parent 87ca05f129
commit f736a15c12
2 changed files with 19 additions and 11 deletions

View File

@ -103,6 +103,7 @@ class server:
ssl_options=ssl) ssl_options=ssl)
http_server.listen(web.ub.config.config_port) http_server.listen(web.ub.config.config_port)
self.wsgiserver=IOLoop.instance() self.wsgiserver=IOLoop.instance()
web.py3_gevent_link = self.wsgiserver
self.wsgiserver.start() self.wsgiserver.start()
# wait for stop signal # wait for stop signal
self.wsgiserver.close(True) self.wsgiserver.close(True)
@ -142,10 +143,10 @@ class server:
# ToDo: Somehow caused by circular import under python3 refactor # ToDo: Somehow caused by circular import under python3 refactor
if sys.version_info > (3, 0): if sys.version_info > (3, 0):
if not self.wsgiserver: if not self.wsgiserver:
if gevent_present: # if gevent_present:
self.wsgiserver = web.py3_gevent_link self.wsgiserver = web.py3_gevent_link
else: #else:
self.wsgiserver = IOLoop.instance() # self.wsgiserver = IOLoop.instance()
if self.wsgiserver: if self.wsgiserver:
if gevent_present: if gevent_present:
self.wsgiserver.close() self.wsgiserver.close()

View File

@ -426,18 +426,25 @@ class Updater(threading.Thread):
minor_version_update = int(commit[i]['tag_name'].split('.')[1]) minor_version_update = int(commit[i]['tag_name'].split('.')[1])
patch_version_update = int(commit[i]['tag_name'].split('.')[2]) patch_version_update = int(commit[i]['tag_name'].split('.')[2])
current_version[0] = int(current_version[0])
current_version[1] = int(current_version[1])
try:
current_version[2] = int(current_version[2])
except ValueError:
current_version[2] = int(current_version[2].split(' ')[0])-1
# Check if major versions are identical search for newest nonenqual commit and update to this one # Check if major versions are identical search for newest nonenqual commit and update to this one
if major_version_update == int(current_version[0]): if major_version_update == current_version[0]:
if (minor_version_update == int(current_version[1]) and if (minor_version_update == current_version[1] and
patch_version_update > int(current_version[2])) or \ patch_version_update > current_version[2]) or \
minor_version_update > int(current_version[1]): minor_version_update > current_version[1]:
parents.append([commit[i]['tag_name'],commit[i]['body'].replace('\r\n', '<p>')]) parents.append([commit[i]['tag_name'],commit[i]['body'].replace('\r\n', '<p>')])
i -= 1 i -= 1
continue continue
if major_version_update < int(current_version[0]): if major_version_update < current_version[0]:
i -= 1 i -= 1
continue continue
if major_version_update > int(current_version[0]): if major_version_update > current_version[0]:
# found update update to last version before major update, unless current version is on last version # found update update to last version before major update, unless current version is on last version
# before major update # before major update
if commit[i+1]['tag_name'].split('.')[1] == current_version[1]: if commit[i+1]['tag_name'].split('.')[1] == current_version[1]:
@ -466,7 +473,7 @@ class Updater(threading.Thread):
'update': True, 'update': True,
'success': True, 'success': True,
'message': _( 'message': _(
u'A new update is available. Click on the button below to update to the latest version.'), u'Click on the button below to update to the latest stable version.'),
'history': parents 'history': parents
}) })
self.updateFile = commit[0]['zipball_url'] self.updateFile = commit[0]['zipball_url']