From bb48f7e28d415e516fb7abd0100d2f7394eaa1d2 Mon Sep 17 00:00:00 2001 From: Eric Lin Date: Sun, 17 Mar 2024 09:38:37 -0400 Subject: [PATCH] Changed ankerctl to read from .env or .flaskenv on startup. Added pyinstaller packaging for windows users. Updated requirements needed to run transwarp. --- ankerctl.py | 5 +++++ build-exe.bat | 1 + packaging/ankerctl.bat | 4 ++++ packaging/logo.ico | Bin 0 -> 183149 bytes requirements-dev.txt | 4 ++++ 5 files changed, 14 insertions(+) create mode 100644 build-exe.bat create mode 100644 packaging/ankerctl.bat create mode 100644 packaging/logo.ico diff --git a/ankerctl.py b/ankerctl.py index 6cb07d09..0eb3b275 100755 --- a/ankerctl.py +++ b/ankerctl.py @@ -26,6 +26,11 @@ from libflagship.ppppapi import FileUploadInfo, PPPPError +from dotenv import load_dotenv + +load_dotenv() # take environment variables from .env. + + class Environment: def __init__(self): pass diff --git a/build-exe.bat b/build-exe.bat new file mode 100644 index 00000000..65c161d9 --- /dev/null +++ b/build-exe.bat @@ -0,0 +1 @@ +pyinstaller -F --add-data templates:templates --add-data web:web --add-data static:static --add-data ssl:ssl --add-data cli:cli --add-data libflagship:libflagship --add-data specification:specification --icon .\packaging\logo.ico .\ankerctl.py diff --git a/packaging/ankerctl.bat b/packaging/ankerctl.bat new file mode 100644 index 00000000..463e4494 --- /dev/null +++ b/packaging/ankerctl.bat @@ -0,0 +1,4 @@ +IF NOT EXIST %LOCALAPPDATA%\ankerctl\ankerctl\default.json ( + .\ankerctl.exe config import +) +.\ankerctl.exe webserver run diff --git a/packaging/logo.ico b/packaging/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..fc911808c0cf40471104fb0edadbe056f4c2e30e GIT binary patch literal 183149 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 J);T3K0RRjL0&M^Q literal 0 HcmV?d00001 diff --git a/requirements-dev.txt b/requirements-dev.txt index 9e6dea2b..ee0e519a 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,2 +1,6 @@ -r requirements.txt git+https://github.com/chrivers/transwarp.git +pyinstaller +make +mako +lxml \ No newline at end of file