1
0
mirror of https://github.com/janeczku/calibre-web.git synced 2024-11-26 08:51:05 +02:00

move current commit hash to its own file

This commit is contained in:
Virgil Grigoras 2018-09-09 13:00:46 +02:00
parent f477d48c7c
commit 6e2dbb7cd6
3 changed files with 22 additions and 4 deletions

View File

@ -547,3 +547,11 @@ def check_unrar(unrarLocation):
error=True
return (error, version)
def is_sha1(sha1):
if len(sha1) != 40:
return False
try:
temp = int(sha1, 16)
except ValueError:
return False
return True

View File

@ -1,5 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from builtins import OSError
try:
from googleapiclient.errors import HttpError
except ImportError:
@ -1083,14 +1085,21 @@ def get_matching_tags():
@login_required_if_no_ano
def get_update_status():
status = {
'status': False
'status': False,
'current_commit_hash': ''
}
repository_url = 'https://api.github.com/repos/janeczku/calibre-web'
tz = datetime.timedelta(seconds=time.timezone if (time.localtime().tm_isdst == 0) else time.altzone)
if request.method == "GET":
# should be automatically replaced by git with current commit hash
current_commit_id = '$Format:%H$'
# get current commit hash from file
try:
with open('version', 'r') as f:
data = f.read().replace('\n', '')
if helper.is_sha1(data):
status['current_commit_hash'] = data
except FileNotFoundError:
pass
try:
r = requests.get(repository_url + '/git/refs/heads/master')
@ -1108,7 +1117,7 @@ def get_update_status():
if 'error' in status:
return json.dumps(status)
if 'object' in commit and commit['object']['sha'] != current_commit_id:
if 'object' in commit and commit['object']['sha'] != status['current_commit_hash']:
# a new update is available
try:
r = requests.get(repository_url + '/git/commits/' + commit['object']['sha'])

1
version Normal file
View File

@ -0,0 +1 @@
$Format:%H$