v1.0.0b1
This commit is contained in:
48
main.py
48
main.py
@@ -1,37 +1,51 @@
|
||||
import os
|
||||
import configparser
|
||||
|
||||
import requests
|
||||
|
||||
import logger
|
||||
from package import pkg
|
||||
|
||||
# Local Variables
|
||||
|
||||
## Application State
|
||||
_state = "test"
|
||||
## Autopkg Environment Setup
|
||||
_target = os.getenv("APKG_TARGET")
|
||||
|
||||
if _state == "prod":
|
||||
if _target == "prod":
|
||||
datafile = "/etc/autopkg/data.ini"
|
||||
elif _state == "test":
|
||||
datafile = "data.ini"
|
||||
logfile = "/var/log/autopkg.log"
|
||||
elif _target == "test":
|
||||
datafile = "test/data.ini"
|
||||
logfile = "test/autopkg.log"
|
||||
else:
|
||||
logger.log("APKG_TARGET not defined", 50)
|
||||
exit()
|
||||
|
||||
## Apps to be packaged
|
||||
|
||||
## Setup Config
|
||||
data = configparser.ConfigParser()
|
||||
|
||||
data.read(datafile)
|
||||
|
||||
if "Versions" not in data: ## Setup file if not present
|
||||
data["Versions"] = {}
|
||||
|
||||
|
||||
## Autopkg Apps
|
||||
apps = {
|
||||
"bitcoinknots": "https://api.github.com/repos/bitcoinknots/bitcoin/releases/latest",
|
||||
"electrs": "https://api.github.com/repos/romanz/electrs/releases/latest"
|
||||
}
|
||||
|
||||
# Setup data file
|
||||
data = configparser.ConfigParser()
|
||||
|
||||
data.read(datafile)
|
||||
|
||||
## Setup file if not present
|
||||
if "Versions" not in data:
|
||||
data["Versions"] = {}
|
||||
|
||||
# Main Application
|
||||
if __name__ == "__main__":
|
||||
logger.log("Running Autopkg (c) 2025 phantom <phantom@shadeouts.net> https://shadeouts.net/")
|
||||
|
||||
# Handle apps (get versions)
|
||||
for app, url in apps.items():
|
||||
ini_version = data["Versions"][app] # Version previously packaged from data.ini
|
||||
|
||||
response = requests.get(url)
|
||||
|
||||
# Parse through JSON data
|
||||
@@ -39,10 +53,12 @@ if __name__ == "__main__":
|
||||
json = response.json()
|
||||
version = json["id"]
|
||||
|
||||
data["Versions"][app] = str(version)
|
||||
ini_version = str(version)
|
||||
|
||||
# Package new versions if available
|
||||
if version != data["Versions"][app]:
|
||||
if version != ini_version:
|
||||
logger.log(f"Found new version ({version}) for {app}, packaging..")
|
||||
|
||||
pkg(app, version)
|
||||
|
||||
# Write changes
|
||||
|
||||
Reference in New Issue
Block a user