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