#! /usr/bin/python3 import sys import os import json import zipfile import requests arguments = sys.argv arguments.remove(sys.argv[0]) url = "https://raw.githubusercontent.com/UntriexTv/test_directory/main/ver.json" if len(arguments) == 0: sys.exit() command = arguments[0] if command in ["u", "update"]: try: server_version = json.loads(requests.get(url).text) except Exception as error: print(f"CAN'T DOWNLOAD VERSION LIST. ERROR: {error}") sys.exit() if "-version" in arguments: try: version_download = arguments[arguments.index("-version") + 1] except IndexError: print("Version argument is empty.") sys.exit() if version_download not in list(server_version.keys()): print("Version not found.") sys.exit() else: try: with open("version.json", "r", encoding='utf-8') as f: # loading settings version = json.load(f) except: version = {"id": 0, "version": "recovery"} for ver, data in enumerate(server_version.values()): if data["id"] > version["id"]: version_download = list(server_version.keys())[ver] try: with open("update.zip", "wb", encoding='utf-8') as save: save.write( bytes(requests.get( f"https://github.com/UntriexTv/test_directory/releases/download/{version_download}/update.zip").content)) except Exception as error: print(f"FAILED TO DOWNLOAD UPDATE. ERROR: {error}") sys.exit() with zipfile.ZipFile("update.zip", "r") as zip_ref: zip_ref.extractall("") os.remove("update.zip") print("SUCCESS") print(f"""Update from version {version["version"]} to {version_download} was sucesfull""") if command == "clean": if arguments[1] == "all": open("log.txt", "w").close() with open("settings.json", "r", encoding='utf-8') as file: settings = json.load(file) for line in settings["heartbeat_table"]: settings["heartbeat_table"][line] = [] with open("settings.json", "w", encoding='utf-8') as file: json.dump(settings, file, indent=2) if arguments[1] == "log": open("log.txt", "w").close() if arguments[1] == "heartbeat_table": with open("settings.json", "r", encoding='utf-8') as file: settings = json.load(file) for line in settings["heartbeat_table"]: settings["heartbeat_table"][line] = [] with open("settings.json", "w", encoding='utf-8') as file: json.dump(settings, file, indent=2)