Giter Club home page Giter Club logo

snapjaw's Introduction

snapjaw: Vanilla World of Warcraft AddOn manager

License: GPL v3 CodeQL Package

Features

  • Support for Git repositories as addon sources
  • Detection of outdated and/or modified addons
  • Automatic handling of folder naming and nested addon folders
  • Fast addon update check due to multithreading implementation
  • Simple command line interface

How to install

  • Download snapjaw
  • Extract the archive into the WoW folder. This will create a structure similar to C:\Games\WoW\snapjaw\snapjaw.exe. Alternatively, if you choose a different destination, you'll need to specify the path to the addons directory using the --addons-dir argument.
  • See usage examples or run snapjaw.exe --help

Note

If you are new to snapjaw, you will need to reinstall each of your addons manually using the snapjaw install command. This process is essential as it creates an index file to effectively track the status of your addons folder.

Usage examples

cd c:\games\wow
snapjaw install https://github.com/refaim/TrainerSkills
2022-11-01 01:45:16,711 [INFO] Cloning https://github.com/refaim/TrainerSkills.git
2022-11-01 01:45:18,540 [INFO] Installing addon "TrainerSkills"
2022-11-01 01:45:18,759 [INFO] Done
2022-11-01 01:45:18,809 [INFO] Saving config...
2022-11-01 01:45:18,817 [INFO] Done!

snapjaw status -v
addon                          status      released_at    installed_at
-----------------------------  ----------  -------------  --------------
Accountant                     up-to-date  Apr 24 2016    Oct 30
AdvancedTradeSkillWindow       up-to-date  Oct 14         Oct 30
Altoholic                      up-to-date  Feb 09 2018    yesterday
Beastmaster                    up-to-date  Jun 23 2017    today
BetterCharacterStats           up-to-date  Sep 23 2019    Oct 30
Cartographer                   up-to-date  Oct 22         Oct 30
ClassIcons                     up-to-date  today          today
CleanChat                      up-to-date  Dec 31 2018    Oct 30
Mail                           up-to-date  Jun 04 2019    Oct 30
MasterTradeSkills              up-to-date  Oct 22         Oct 30
Mendeleev                      modified    Oct 16         Oct 30
MobInfo2                       up-to-date  yesterday      yesterday
pfQuest                        up-to-date  Sep 30         Oct 30
pfQuest-turtle                 up-to-date  Sep 29         Oct 30
PvPWarning                     up-to-date  May 08 2022    Oct 30
QuestItem                      up-to-date  Feb 01 2018    Oct 30
Quiver                         untracked
ReagentData                    up-to-date  Oct 22         Oct 30
RecipeRadar                    up-to-date  Oct 23         Oct 30
RestBar                        up-to-date  May 25 2022    Oct 30
ShaguTweaks                    outdated    Oct 30         Oct 28

snapjaw update ShaguTweaks
2022-11-01 01:52:55,539 [INFO] Cloning https://github.com/shagu/ShaguTweaks.git
2022-11-01 01:53:01,098 [INFO] Installing addon "ShaguTweaks"
2022-11-01 01:53:01,530 [INFO] Done
2022-11-01 01:53:01,602 [INFO] Saving config...
2022-11-01 01:53:01,610 [INFO] Done!

Requirements for developers

snapjaw's People

Contributors

refaim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

amstiel

snapjaw's Issues

How to set proxy?

Hello, thank you for this nice wow addon manager tool.
I want to known how to set a git proxy?
Maybe we need add a proxy option for it?
Thank you.

There is no check for accessibility to the git repository

When calling the update and status commands, git gives an error with status 401 and the script breaks. This problem does not make it clear which repository is not accessible and does not allow updating or get status for other addons.

Trace

D:\Games\client_1165\snapjaw> .\snapjaw.exe status
Traceback (most recent call last):
  File "D:\Games\client_1165\snapjaw\snapjaw.py", line 369, in  /n
  File "D:\Games\client_1165\snapjaw\snapjaw.py", line 74, in main
  File "D:\Games\client_1165\snapjaw\snapjaw.py", line 142, in run_command
  File "D:\Games\client_1165\snapjaw\snapjaw.py", line 273, in cmd_status
  File "D:\Games\client_1165\snapjaw\snapjaw.py", line 334, in get_addon_states
  File "D:\Games\client_1165\snapjaw\mygit.py", line 127, in fetch_states
  File "D:\Games\client_1165\snapjaw\concurrent\futures\_base.py", line 451, in result
  File "D:\Games\client_1165\snapjaw\concurrent\futures\_base.py", line 403, in __get_result
  File "D:\Games\client_1165\snapjaw\concurrent\futures\thread.py", line 58, in run
  File "D:\Games\client_1165\snapjaw\mygit.py", line 122, in ls
  File "D:\Games\client_1165\snapjaw\pygit2\remote.py", line 162, in ls_remotes
  File "D:\Games\client_1165\snapjaw\pygit2\remote.py", line 112, in connect
  File "D:\Games\client_1165\snapjaw\pygit2\callbacks.py", line 98, in check_error
  File "D:\Games\client_1165\snapjaw\pygit2\errors.py", line 65, in check_error
_pygit2.GitError: request failed with status code: 401

Script is absolutely working

D:\Games\client_1165\snapjaw> .\snapjaw.exe install https://github.com/shagu/pfQuest
2023-10-03 17:06:57,184 [INFO] Cloning https://github.com/shagu/pfQuest.git
Enumerating objects: 4936, done.
Counting objects: 100% (1039/1039), done.
Compressing objects: 100% (372/372), done.
Receiving objects: 100% (4936/4936) [128.1 MB], done.
Total 4936 (delta 696), reused 968 (delta 663), pack-reused 3897
Indexing deltas: 100% (3228/3228), done.
2023-10-03 17:08:09,030 [INFO] Installing addon "pfQuest", branch "master"
2023-10-03 17:08:10,007 [INFO] Done
2023-10-03 17:08:10,165 [INFO] Saving config...
2023-10-03 17:08:10,168 [INFO] Done!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.