From b5443ab0a8869fa004c6ea629469f27b7fe155e1 Mon Sep 17 00:00:00 2001 From: Pax1601 Date: Mon, 11 Dec 2023 19:48:19 +0100 Subject: [PATCH] Removed python configurator --- installer/olympus.iss | 4 +- .../__pycache__/weapons_data.cpython-37.pyc | Bin 187813 -> 0 bytes .../configurator/build_configurator.bat | 5 - scripts/python/configurator/configurator.py | 136 ------------------ scripts/python/configurator/configurator.spec | 37 ----- 5 files changed, 2 insertions(+), 180 deletions(-) delete mode 100644 scripts/python/__pycache__/weapons_data.cpython-37.pyc delete mode 100644 scripts/python/configurator/build_configurator.bat delete mode 100644 scripts/python/configurator/configurator.py delete mode 100644 scripts/python/configurator/configurator.spec diff --git a/installer/olympus.iss b/installer/olympus.iss index 40cf6261..843777c1 100644 --- a/installer/olympus.iss +++ b/installer/olympus.iss @@ -46,11 +46,11 @@ Source: "..\img\olympus_configurator.ico"; DestDir: "{app}\Mods\Services\Olympus Source: "..\img\configurator_logo.png"; DestDir: "{app}\Mods\Services\Olympus\img"; Flags: ignoreversion; Source: "{#nwjsFolder}\*.*"; DestDir: "{app}\Mods\Services\Olympus\client"; Flags: ignoreversion recursesubdirs; Check: CheckLocalInstall Source: "{#nodejsFolder}\*.*"; DestDir: "{app}\Mods\Services\Olympus\client"; Flags: ignoreversion recursesubdirs; Check: CheckServerInstall -Source: "..\scripts\python\configurator\dist\configurator.exe"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion; +Source: "..\configurator\x64\Release\configurator.exe"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion; Source: "..\LEGAL"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion; [Run] -Filename: "{app}\Mods\Services\Olympus\configurator.exe"; Parameters: -a {code:GetAddress} -c {code:GetClientPort} -b {code:GetBackendPort} -p {code:GetPassword} -bp {code:GetBluePassword} -rp {code:GetRedPassword}; Check: CheckCallConfigurator +Filename: "{app}\Mods\Services\Olympus\configurator.exe"; Parameters: -a {code:GetAddress} -c {code:GetClientPort} -b {code:GetBackendPort} -p {code:GetPassword} --bp {code:GetBluePassword} --rp {code:GetRedPassword}; Check: CheckCallConfigurator [Icons] Name: "{userdesktop}\DCS Olympus Client"; Filename: "{app}\Mods\Services\Olympus\client\nw.exe"; Tasks: desktopicon; IconFilename: "{app}\Mods\Services\Olympus\img\olympus.ico"; Check: CheckLocalInstall diff --git a/scripts/python/__pycache__/weapons_data.cpython-37.pyc b/scripts/python/__pycache__/weapons_data.cpython-37.pyc deleted file mode 100644 index cb503ac11a34273c6f6c71cb16a18b5205211b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187813 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 diff --git a/scripts/python/configurator/build_configurator.bat b/scripts/python/configurator/build_configurator.bat deleted file mode 100644 index 8377f8b3..00000000 --- a/scripts/python/configurator/build_configurator.bat +++ /dev/null @@ -1,5 +0,0 @@ -python -m venv venv -call ./venv/Scripts/activate -pip install pyinstaller -pip install PySimpleGUI -python -m PyInstaller configurator.py --onefile --noconsole \ No newline at end of file diff --git a/scripts/python/configurator/configurator.py b/scripts/python/configurator/configurator.py deleted file mode 100644 index 04e4e189..00000000 --- a/scripts/python/configurator/configurator.py +++ /dev/null @@ -1,136 +0,0 @@ -import argparse, json -import PySimpleGUI as sg -import hashlib - -# Apply the values to the olympus.json config file -def apply_values(args): - with open("olympus.json", "r") as fp: - config = json.load(fp) - - if args.address is not None and args.address != "": - config["server"]["address"] = args.address - print(f"Address set to {args.address}") - else: - print("No address provided, skipping...") - - if args.backendPort is not None and args.backendPort != "": - # The backend port must be a numerical value - if args.backendPort.isdecimal(): - config["server"]["port"] = int(args.backendPort) - print(f"Backend port set to {args.backendPort}") - else: - print(f"Invalid backend port provided: {args.backendPort}") - else: - print("No backend port provided, skipping...") - - if args.clientPort is not None and args.clientPort != "": - # The client port must be a numerical value - if args.clientPort.isdecimal(): - config["client"]["port"] = int(args.clientPort) - print(f"Client port set to {args.clientPort}") - else: - print(f"Invalid client port provided: {args.clientPort}") - else: - print("No client port provided, skipping...") - - if args.password is not None and args.password != "": - config["authentication"]["gameMasterPassword"] = hashlib.sha256(args.password.encode()).hexdigest() - print(f"Game Master password set to {args.password}") - else: - print("No Game Master password provided, skipping...") - - if args.bluePassword is not None and args.bluePassword != "": - config["authentication"]["blueCommanderPassword"] = hashlib.sha256(args.bluePassword.encode()).hexdigest() - print(f"Blue Commander password set to {args.bluePassword}") - else: - print("No Blue Commander password provided, skipping...") - - if args.redPassword is not None and args.redPassword != "": - config["authentication"]["redCommanderPassword"] = hashlib.sha256(args.redPassword.encode()).hexdigest() - print(f"Red Commander password set to {args.redPassword}") - else: - print("No Red Commander password provided, skipping...") - - with open("olympus.json", "w") as fp: - json.dump(config, fp, indent = 4) - -def main(): - # Parse the input arguments - parser = argparse.ArgumentParser( - prog="DCS Olympus configurator", - description="This software allows to edit the DCS Olympus configuration file", - epilog="") - - parser.add_argument("-a", "--address") - parser.add_argument("-c", "--clientPort") - parser.add_argument("-b", "--backendPort") - parser.add_argument("-p", "--password") - parser.add_argument("-bp", "--bluePassword") - parser.add_argument("-rp", "--redPassword") - - args = parser.parse_args() - - # If no argument was provided, start the GUI - if args.address is None and \ - args.backendPort is None and \ - args.clientPort is None and \ - args.password is None and \ - args.bluePassword is None and \ - args.redPassword is None: - print(f"No arguments provided, starting in graphical mode") - - with open("olympus.json", "r") as fp: - config = json.load(fp) - - old_values = {} - window = sg.Window("DCS Olympus configurator", - [[sg.T("DCS Olympus configurator", font=("Helvetica", 14, "bold")), sg.Push(), sg.Image(".\\img\\configurator_logo.png", size = (50, 50))], - [sg.T("")], - [sg.T("Address"), sg.Push(), sg.In(size=(30, 10), default_text=config["server"]["address"], key="address")], - [sg.T("Webserver port"), sg.Push(), sg.In(size=(30, 10), default_text=config["client"]["port"], key="clientPort", enable_events=True)], - [sg.T("Backend port"), sg.Push(), sg.In(size=(30, 10), default_text=config["server"]["port"], key="backendPort", enable_events=True)], - [sg.T("Game Master password"), sg.Push(), sg.In(size=(30, 10), password_char="*", key="password")], - [sg.T("Blue Commander password"), sg.Push(), sg.In(size=(30, 10), password_char="*", key="bluePassword")], - [sg.T("Red Commander password"), sg.Push(), sg.In(size=(30, 10), password_char="*", key="redPassword")], - [sg.T("Note: Empty fields will retain their original values")], - [sg.T("")], - [sg.B("Apply"), sg.B("Exit"), sg.T("Remember to restart DCS Server and any running mission", font=("Helvetica", 10, "bold"))]], - icon = ".\\img\\olympus_configurator.ico") - - while True: - event, values = window.read() - - # The backend and client ports must be numerical. Enforce it. - if event == "backendPort": - if values["backendPort"].isdecimal() or values["backendPort"] == "": - old_values["backendPort"] = values["backendPort"] - else: - window["backendPort"].update(old_values["backendPort"] if "backendPort" in old_values else config["server"]["port"]) - - if event == "clientPort": - if values["clientPort"].isdecimal() or values["clientPort"] == "": - old_values["clientPort"] = values["clientPort"] - else: - window["clientPort"].update(old_values["clientPort"] if "clientPort" in old_values else config["client"]["port"]) - - # Update the config file - if event == "Apply": - args.address = values["address"] - args.backendPort = values["backendPort"] - args.clientPort = values["clientPort"] - args.password = values["password"] - args.bluePassword = values["bluePassword"] - args.redPassword = values["redPassword"] - apply_values(args) - sg.Popup("DCS Olympus configuration updated") - - if event == sg.WIN_CLOSED or event == "Exit": - window.close() - break - - # If any argument was provided, run in headless mode - else: - apply_values(args) - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/scripts/python/configurator/configurator.spec b/scripts/python/configurator/configurator.spec deleted file mode 100644 index c30c0038..00000000 --- a/scripts/python/configurator/configurator.spec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- mode: python ; coding: utf-8 -*- - - -a = Analysis( - ['configurator.py'], - pathex=[], - binaries=[], - datas=[], - hiddenimports=[], - hookspath=[], - hooksconfig={}, - runtime_hooks=[], - excludes=[], - noarchive=False, -) -pyz = PYZ(a.pure) - -exe = EXE( - pyz, - a.scripts, - a.binaries, - a.datas, - [], - name='configurator', - debug=False, - bootloader_ignore_signals=False, - strip=False, - upx=True, - upx_exclude=[], - runtime_tmpdir=None, - console=False, - disable_windowed_traceback=False, - argv_emulation=False, - target_arch=None, - codesign_identity=None, - entitlements_file=None, -)