{"id":13342330,"url":"https://github.com/alchem1ster/AddOns-Update-Tool","last_synced_at":"2025-03-12T00:31:26.659Z","repository":{"id":55066891,"uuid":"435507288","full_name":"alchem1ster/AddOns-Update-Tool","owner":"alchem1ster","description":"Update your World of Warcraft AddOns hosted on GitHub or GitLab","archived":false,"fork":false,"pushed_at":"2022-06-04T21:23:03.000Z","size":9942,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-24T12:11:56.527Z","etag":null,"topics":["addons","python","updater","world-of-warcraft","wow","wow-addon","wow-addons-updater"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alchem1ster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-06T13:28:06.000Z","updated_at":"2024-06-09T01:46:02.000Z","dependencies_parsed_at":"2022-08-14T10:50:51.476Z","dependency_job_id":null,"html_url":"https://github.com/alchem1ster/AddOns-Update-Tool","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alchem1ster%2FAddOns-Update-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alchem1ster%2FAddOns-Update-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alchem1ster%2FAddOns-Update-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alchem1ster%2FAddOns-Update-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alchem1ster","download_url":"https://codeload.github.com/alchem1ster/AddOns-Update-Tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243136265,"owners_count":20241987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["addons","python","updater","world-of-warcraft","wow","wow-addon","wow-addons-updater"],"created_at":"2024-07-29T19:28:56.847Z","updated_at":"2025-03-12T00:31:21.646Z","avatar_url":"https://github.com/alchem1ster.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cimg align=\"center\" src=\"./_res/logo.png\" width=\"100%\"/\u003e\n\u003cdiv align=\"center\"\u003e \n\u003ch4\u003eTool to update World of Warcraft AddOns hosted on GitHub or GitLab\u003c/h4\u003e\n\u003ca href=\"https://github.com/alchem1ster/AddOns-Update-Tool/issues\" alt=\"Issues\"\u003e\n\u003cimg src=\"https://img.shields.io/github/issues/alchem1ster/AddOns-Update-Tool?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/alchem1ster/AddOns-Update-Tool/stargazers\" alt=\"Stars\"\u003e\n\u003cimg src=\"https://img.shields.io/github/stars/alchem1ster/AddOns-Update-Tool?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/alchem1ster/AddOns-Update-Tool/network/members\" alt=\"Forks\"\u003e\n\u003cimg src=\"https://img.shields.io/github/forks/alchem1ster/AddOns-Update-Tool?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/alchem1ster/AddOns-Update-Tool/releases/latest\" alt=\"Last release\"\u003e\n\u003cimg src=\"https://img.shields.io/github/v/release/alchem1ster/AddOns-Update-Tool?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/alchem1ster/AddOns-Update-Tool/releases\" alt=\"Downloads\"\u003e\n\u003cimg src=\"https://img.shields.io/github/downloads/alchem1ster/AddOns-Update-Tool/total?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.codefactor.io/repository/github/alchem1ster/addons-update-tool\" alt=\"Codefactor\"\u003e\n\u003cimg src=\"https://img.shields.io/codefactor/grade/github/alchem1ster/AddOns-Update-Tool?style=flat-square\" /\u003e\u003c/a\u003e\u003c/div\u003e\n\n### Features\n- [x] Pure Python: only [Dulwich](https://github.com/dulwich/dulwich \"Dulwich\"), [Colorlog](https://github.com/borntyping/python-colorlog \"Colorlog\") and [PyYAML](https://github.com/yaml/pyyaml/)\n- [x] Multithreaded tasks\n- [x] Manual and automatic modes\n- [x] Able to start the game after an updates\n- [x] Automatic backup of updatable AddOns (up to the last 5)\n- [x] Automatic detection of AddOn directories (aka modules)\n\n\u003cbr\u003e\n\n\u003cimg src=\"./_res/runtime_record.gif\" width=\"70%\"/\u003e\n\n\u003cbr\u003e\n\n## Usage\nBefore 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\n\n### Configuration file\nBefore using this script, you need to configure the list of repositories (AddOns) for updating.\nJust see how this is done in the `config_example.json` or `config_example.yaml` files. Just choose what you are more comfortable with.  \nIn general terms, they are [JSON](https://en.wikipedia.org/wiki/JSON \"JSON\") and [YAML](https://en.wikipedia.org/wiki/YAML) structures, where you need to specify the repository URL and the branch you want to clone (usually it will be `master` or `main`).  \n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eJSON\u003c/th\u003e\n\u003cth\u003eYAML\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n```json\n{\t\n\"URL1\" : \"master\",\n\"URL2\" : \"master\"\n}\n```\n\u003c/td\u003e\n\u003ctd\u003e\n\n```yaml \nURL1 : master\nURL2 : master\n# URL3 : main\n```\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\nCurly brackets, quotation marks, colons, and commas are mandatory \u003cbr\u003e You can't use comments\n\u003c/td\u003e\n\u003ctd\u003e\nOnly colons are mandatory \u003cbr\u003e Allows to create comment blocks\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Help page\nWhen you run the script from the release version or the source code with the `-h` parameter, the help page will be displayed:\n\n###### optional arguments\n| Argument | Abbrev | Description | Example |\n| ------------ | ------------ | ------------ | ------------ |\n| \\--help | -h |  show help message and exit | -h |\n| \\--start | -s | start Wow.exe after update | -s |\n| \\--verbose |  | verbose debug output | \\--verbose |\n###### required arguments\n| Argument | Abbrev | Description | Examples |\n| ------------ | ------------ | ------------ | ------------ |\n| \\--vault | -v |  new or existing Vault name | -v github |\n| \\--wow | -w | path to Wow.exe | -w \"G:\\World of Warcraft 3.3.5a HD\\Wow.exe\" \u003cbr\u003e -w \".\\Wow.exe\" |\n| \\--config | -c | path to config file | -c \".\\config_335a.yaml\" \u003cbr\u003e -c \".\\new_config.json\" |\n\n### Launching from RELEASE version\n1. Download [latest release](https://github.com/alchem1ster/AddOns-Update-Tool//releases/latest)\n2. Unpack to any folder\n3. Copy and edit `config.yaml` or `config.json` as you need (see [Configuration](https://github.com/alchem1ster/AddOns-Update-Tool#configuration-file) paragraph)\n4. Run app with the `-h` parameter via `cmd` or `powershell` to read the help\n5. As an example, use one of the following commands:  \n`    .\\app.exe -v github -w ..\\wow\\Wow.exe -c .\\config.yaml -s --verbose`  \n`    .\\AddOnsUpdateTool.exe -v github -w ..\\wow\\Wow.exe -c .\\config.json -s --verbose`  \nor the next one if you put `AddOnsUpdateTool.exe` and Config file in the game folder:  \n`    .\\AddOnsUpdateTool.exe -v github -w -c -s --verbose`  \nor even just start `AddOnsUpdateTool.exe` inside game folder (but in this case the game will not start after update, 'cause not provided `-s` argument) \n6. If you want, you can create a shortcut to start with the necessary arguments and place it on the desktop or start menu\n\n### Launching from SOURCE code\nRunning the script from source code will require some knowledge of both Git and Cmd/Powershell\n\n#### Requirements\n- Install Python 3.8 (recommended)\n- Install Pipenv package via `pip install -U pipenv`\n\n#### Prepare\n- Clone this repository\n- Run `pipenv install` inside repository directory\n- If successful, you can use `pipenv shell` to open Pipenv Venv Shell inside\n\n#### Launch\n- Use `python .\\app.py -h` inside Pipenv Venv Shell to see the help page\n\n\u003cbr\u003e\n\n## Dev dependencies\nPython dev and recommended build: `Python 3.8.10 [64 bit (AMD64)]`  \nPipenv profile includes `pyinstaller` package (for packing code into PE (.exe) file) that you can install via `pipenv install --dev` command.   \nIf 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`.  \nDont forget to re-format code after changes to keep it within the PEP-8.\n\n## Creating an EXE\nTo package a set of scripts into a standalone distributable directory, or a single EXE file, use the `pyinstaller` module:\n- `pipenv run pyinstaller --onefile .\\app.py` -- for single EXE file (smaller size, but slower runtime due to the temp cache)\n- `pipenv run pyinstaller .\\AddonsUpdateTool_dir.spec` -- for standalone directory (larger whole folder size, but fast runtime)\n\n## Additional information\nIn 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\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falchem1ster%2FAddOns-Update-Tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falchem1ster%2FAddOns-Update-Tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falchem1ster%2FAddOns-Update-Tool/lists"}