Own function for getting the current commit hash and datetime

pull/618/head
Virgil Grigoras 6 years ago
parent cb5adb3a31
commit f7872aded0

@ -547,6 +547,7 @@ def check_unrar(unrarLocation):
error=True error=True
return (error, version) return (error, version)
def is_sha1(sha1): def is_sha1(sha1):
if len(sha1) != 40: if len(sha1) != 40:
return False return False
@ -555,3 +556,19 @@ def is_sha1(sha1):
except ValueError: except ValueError:
return False return False
return True return True
def get_current_version_info():
try:
with open('version', 'r') as f:
content = f.readlines()
content = [x.strip() for x in content]
if len(content) != 2:
return False
if is_sha1(content[0]) and len(content[1]) > 0:
return {'sha': content[0], 'datetime': content[1]}
except FileNotFoundError:
return False
return False

@ -1094,14 +1094,11 @@ def get_update_status():
tz = datetime.timedelta(seconds=time.timezone if (time.localtime().tm_isdst == 0) else time.altzone) tz = datetime.timedelta(seconds=time.timezone if (time.localtime().tm_isdst == 0) else time.altzone)
if request.method == "GET": if request.method == "GET":
# get current commit hash from file version = helper.get_current_version_info()
try: if version is False:
with open('version', 'r') as f: status['current_commit_hash'] = _(u'Unknown')
data = f.read().replace('\n', '') else:
if helper.is_sha1(data): status['current_commit_hash'] = version['sha']
status['current_commit_hash'] = data
except FileNotFoundError:
pass
try: try:
r = requests.get(repository_url + '/git/refs/heads/master') r = requests.get(repository_url + '/git/refs/heads/master')
@ -2749,10 +2746,12 @@ def profile():
@login_required @login_required
@admin_required @admin_required
def admin(): def admin():
commit = '$Format:%cI$' version = helper.get_current_version_info()
if commit.startswith("$"): if version is False:
commit = _(u'Unknown') commit = _(u'Unknown')
else: else:
commit = version['datetime']
tz = datetime.timedelta(seconds=time.timezone if (time.localtime().tm_isdst == 0) else time.altzone) tz = datetime.timedelta(seconds=time.timezone if (time.localtime().tm_isdst == 0) else time.altzone)
form_date = datetime.datetime.strptime(commit[:19], "%Y-%m-%dT%H:%M:%S") form_date = datetime.datetime.strptime(commit[:19], "%Y-%m-%dT%H:%M:%S")
if len(commit) > 19: # check if string has timezone if len(commit) > 19: # check if string has timezone

@ -1 +1,2 @@
$Format:%H$ $Format:%H$
$Format:%cI$
Loading…
Cancel
Save