Skip to content

A Skillfarm Tracker Module for Alliance Auth tracks skill queues, sends notifications if skills finished and highlights them, making skill management easier for Skillfarms.

License

Notifications You must be signed in to change notification settings

Geuthur/aa-skillfarm

Repository files navigation

Skillfarm module for AllianceAuth.

pre-commit.ci status Code style: black Tests codecov

ko-fi

The Skillfarm Tracker Module for Alliance Auth tracks skill queues, sends notifications if skills finished and highlights them, making skill management easier for Skillfarms.


Features

  • Graphical Design
  • Characters Overview
  • Skillfarm Information Sheet
    • Filtered Skill Queue
    • Filtered Skills
    • Highlight finished Skills
    • No Active Training hint
  • Filter Skills for each Character
  • Notification System
  • Enable/Disable Characters

Installation

Note

AA Skillfarm needs at least Alliance Auth v4.0.0 Please make sure to update your Alliance Auth before you install this APP

Step 0 - Check dependencies are installed

  • Skillfarm needs the app django-eveuniverse to function. Please make sure it is installed.

Step 1 - Install the Package

Make sure you're in your virtual environment (venv) of your Alliance Auth then install the pakage.

pip install aa-skillfarm

Step 2 - Configure Alliance Auth

Configure your Alliance Auth settings (local.py) as follows:

  • Add 'skillfarm', to INSTALLED_APPS

Step 3 - Add the Scheduled Tasks

To set up the Scheduled Tasks add following code to your local.py

CELERYBEAT_SCHEDULE["skillfarm_update_all_skillfarm"] = {
    "task": "skillfarm.tasks.update_all_skillfarm",
    "schedule": crontab(minute=0, hour="*/1"),
}

CELERYBEAT_SCHEDULE["skillfarm_check_skillfarm_notifications"] = {
    "task": "skillfarm.tasks.check_skillfarm_notifications",
    "schedule": crontab(minute=0, hour="*/12"),
}

Step 4 - Migration to AA

python manage.py collectstatic
python manage.py migrate

Step 5 - Setting up Permissions

With the Following IDs you can set up the permissions for the Skillfarm

ID Description
basic_access Can access the Skillfarm module All Members with the Permission can access the Skillfarm.
corp_access Has access to all characters in the corporation. Can see all Skillfarm Characters from own Corporation.
admin_access Has access to all characters Can see all Skillfarm Characters.

Step 6 - (Optional) Setting up Compatibilies

The Following Settings can be setting up in the local.py

Setting Name Descriptioon Default
SKILLFARM_APP_NAME Set the name of the APP "Skillfarm"
SKILLFARM_LOGGER_USE Set to use own Logger File True/False False
SKILLFARM_STALE_STATUS Set the Stale Status for Skillfarm Character in hours 3
SKILLFARM_NOTIFICATION_COOLDOWN Number of days to wait before resending a notification 3

If you set up SKILLFARM_LOGGER_USE to True you need to add the following code below:

LOGGING_SKILLFARM = {
    "handlers": {
        "skillfarm_file": {
            "level": "INFO",
            "class": "logging.handlers.RotatingFileHandler",
            "filename": os.path.join(BASE_DIR, "log/skillfarm.log"),
            "formatter": "verbose",
            "maxBytes": 1024 * 1024 * 5,
            "backupCount": 5,
        },
    },
    "loggers": {
        "skillfarm": {
            "handlers": ["skillfarm_file", "console"],
            "level": "INFO",
        },
    },
}
LOGGING["handlers"].update(LOGGING_SKILLFARM["handlers"])
LOGGING["loggers"].update(LOGGING_SKILLFARM["loggers"])

Highlights

skillfarm1 Screenshot 2024-09-21 012008

Note

Contributing You want to improve the project? Just Make a Pull Request with the Guidelines. We Using pre-commit

About

A Skillfarm Tracker Module for Alliance Auth tracks skill queues, sends notifications if skills finished and highlights them, making skill management easier for Skillfarms.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published