1
0
mirror of https://github.com/CMiksche/gitea-auto-update synced 2025-12-10 16:07:23 +01:00
Files
gitea-auto-update/functions.py
2019-05-19 17:32:10 +02:00

52 lines
1.3 KiB
Python

'''
Gitea Remote Updater
Copyright 2018, 2019 The Gitea-Auto-Update Authors
All rights reserved.
License: GNU General Public License
'''
import settings
import requests
import os
# Function to download a file
def download(url, file_name):
# open in binary mode
with open(file_name, "wb") as file:
# get request
response = requests.get(url)
# write to file
file.write(response.content)
# Function to build the new version from source
def buildFromSource(tag):
# Change to source dir
os.chdir(settings.source_dir)
# Checkout master
os.system("git checkout master")
# Update
os.system("git pull")
# Checkout relase branch
os.system("git checkout "+tag)
# Build from source
os.system('TAGS="bindata sqlite sqlite_unlock_notify" make generate build')
# Move binary
os.system("mv gitea "+settings.gtfile)
# Function to check if there is a new version
def checkVersion(new_version, old_version):
from packaging import version
return version.parse(new_version) > version.parse(old_version)
# Function to check if tool is available
def is_tool(name):
##Check whether `name` is on PATH and marked as executable.
# from whichcraft import which
from shutil import which
return which(name) is not None