Before running this script for the first time, I STRONGLY RECOMMEND making a backup of your Interface
folder: something bad is unlikely to happen, but just in case
Before using this script, you need to configure the list of repositories (AddOns) for updating.
Just see how this is done in the config_example.json
or config_example.yaml
files. Just choose what you are more comfortable with.
In general terms, they are JSON and YAML structures, where you need to specify the repository URL and the branch you want to clone (usually it will be master
or main
).
JSON | YAML |
---|---|
```json { "URL1" : "master", "URL2" : "master" } ``` | ```yaml URL1 : master URL2 : master # URL3 : main ``` |
Curly brackets, quotation marks, colons, and commas are mandatory You can't use comments |
Only colons are mandatory Allows to create comment blocks |
When you run the script from the release version or the source code with the -h
parameter, the help page will be displayed:
Argument | Abbrev | Description | Example |
---|---|---|---|
--help | -h | show help message and exit | -h |
--start | -s | start Wow.exe after update | -s |
--verbose | verbose debug output | --verbose |
Argument | Abbrev | Description | Examples |
---|---|---|---|
--vault | -v | new or existing Vault name | -v github |
--wow | -w | path to Wow.exe | -w "G:\World of Warcraft 3.3.5a HD\Wow.exe" -w ".\Wow.exe" |
--config | -c | path to config file | -c ".\config_335a.yaml" -c ".\new_config.json" |
config.yaml
or config.json
as you need (see Configuration paragraph)-h
parameter via cmd
or powershell
to read the help.\app.exe -v github -w ..\wow\Wow.exe -c .\config.yaml -s --verbose
.\AddOnsUpdateTool.exe -v github -w ..\wow\Wow.exe -c .\config.json -s --verbose
AddOnsUpdateTool.exe
and Config file in the game folder:.\AddOnsUpdateTool.exe -v github -w -c -s --verbose
AddOnsUpdateTool.exe
inside game folder (but in this case the game will not start after update, 'cause not provided -s
argument) Running the script from source code will require some knowledge of both Git and Cmd/Powershell
pip install -U pipenv
pipenv install
inside repository directorypipenv shell
to open Pipenv Venv Shell insidepython .\app.py -h
inside Pipenv Venv Shell to see the help pagePython dev and recommended build: Python 3.8.10 [64 bit (AMD64)]
Pipenv profile includes pyinstaller
package (for packing code into PE (.exe) file) that you can install via pipenv install --dev
command.
If you want to change something in the code, I strongly recommend that you set the PEP-8 linters such as pylint
, bandit
, flake8
, also code formatter black
.
Dont forget to re-format code after changes to keep it within the PEP-8.
To package a set of scripts into a standalone distributable directory, or a single EXE file, use the pyinstaller
module:
pipenv run pyinstaller --onefile .\app.py
-- for single EXE file (smaller size, but slower runtime due to the temp cache)pipenv run pyinstaller .\AddonsUpdateTool_dir.spec
-- for standalone directory (larger whole folder size, but fast runtime)In addition to app.py
I also provide scripts to manually update the Vault DB and the Game DB: vault_updater.py
and game_updater.py
. You can also use the -h
argument to view the help page