mirror of
https://github.com/janeczku/calibre-web.git
synced 2024-11-28 08:58:41 +02:00
move current commit hash to its own file
This commit is contained in:
parent
f477d48c7c
commit
6e2dbb7cd6
@ -547,3 +547,11 @@ def check_unrar(unrarLocation):
|
|||||||
error=True
|
error=True
|
||||||
return (error, version)
|
return (error, version)
|
||||||
|
|
||||||
|
def is_sha1(sha1):
|
||||||
|
if len(sha1) != 40:
|
||||||
|
return False
|
||||||
|
try:
|
||||||
|
temp = int(sha1, 16)
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
17
cps/web.py
17
cps/web.py
@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
from builtins import OSError
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from googleapiclient.errors import HttpError
|
from googleapiclient.errors import HttpError
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@ -1083,14 +1085,21 @@ def get_matching_tags():
|
|||||||
@login_required_if_no_ano
|
@login_required_if_no_ano
|
||||||
def get_update_status():
|
def get_update_status():
|
||||||
status = {
|
status = {
|
||||||
'status': False
|
'status': False,
|
||||||
|
'current_commit_hash': ''
|
||||||
}
|
}
|
||||||
repository_url = 'https://api.github.com/repos/janeczku/calibre-web'
|
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)
|
tz = datetime.timedelta(seconds=time.timezone if (time.localtime().tm_isdst == 0) else time.altzone)
|
||||||
|
|
||||||
if request.method == "GET":
|
if request.method == "GET":
|
||||||
# should be automatically replaced by git with current commit hash
|
# get current commit hash from file
|
||||||
current_commit_id = '$Format:%H$'
|
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:
|
try:
|
||||||
r = requests.get(repository_url + '/git/refs/heads/master')
|
r = requests.get(repository_url + '/git/refs/heads/master')
|
||||||
@ -1108,7 +1117,7 @@ def get_update_status():
|
|||||||
if 'error' in status:
|
if 'error' in status:
|
||||||
return json.dumps(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
|
# a new update is available
|
||||||
try:
|
try:
|
||||||
r = requests.get(repository_url + '/git/commits/' + commit['object']['sha'])
|
r = requests.get(repository_url + '/git/commits/' + commit['object']['sha'])
|
||||||
|
Loading…
Reference in New Issue
Block a user