Skip to content

Geuthur/aa-skillfarm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

264 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Skillfarm module for AllianceAuth.

Release Licence Python Django pre-commit.ci status Code style: black Tests codecov Translation status

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 Skillqueue
    • 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.12.0 Please make sure to update your Alliance Auth before you install this APP

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:

INSTALLED_APPS = [
    # other apps
    "eve_sde",  # only if it not already existing
    "skillfarm",
    # other apps?
]

# This line is right below the `INSTALLED_APPS` list, if not already exist!
INSTALLED_APPS = ["modeltranslation"] + INSTALLED_APPS

Step 3 - Add the Scheduled Tasks

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

if "skillfarm" in INSTALLED_APPS:
    CELERYBEAT_SCHEDULE["AA Skillfarm :: Update All Skillfarm"] = {
        "task": "skillfarm.tasks.update_all_skillfarm",
        "schedule": 1800,
    }

    CELERYBEAT_SCHEDULE["AA Skillfarm :: Check Skillfarm Notification"] = {
        "task": "skillfarm.tasks.check_skillfarm_notifications",
        "schedule": crontab(minute=0, hour="*/24"),
    }

    CELERYBEAT_SCHEDULE["AA Skillfarm :: Update All Prices"] = {
        "task": "skillfarm.tasks.update_all_prices",
        "schedule": crontab(minute=0, hour="0"),
    }

This also only need to be added if it is not already!

if "eve_sde" in INSTALLED_APPS:
    # Run at 12:00 UTC each day
    CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
        "task": "eve_sde.tasks.check_for_sde_updates",
        "schedule": crontab(minute="0", hour="12"),
    }

Step 3.1 - (Optional) Add own Logger File

To set up the Logger add following code to your local.py Ensure that you have writing permission in logs folder.

LOGGING["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,
}
LOGGING["loggers"]["extensions.skillfarm"] = {
    "handlers": ["skillfarm_file"],
    "level": "DEBUG",
}

Step 4 - Migration to AA

python manage.py collectstatic
python manage.py migrate

Step 4.1 - Preload EVE SDE Data & ItemType Prices

AA Skillfarm uses EVE SDE data to map IDs to names for EveTypes. You will need to preload some data from SDE once.

python manage.py esde_load_sde
python manage.py skillfarm_load_prices

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_PRICE_SOURCE_ID Set Station ID for fetching base prices. Default is Jita 60003760

Advanced Settings: Stale Status for Each Section

  • SKILLFARM_STALE_TYPES = { "skills": 30, "skillqueue": 30, } - Defines the stale status duration (in minutes) for each section.

Highlights

skillfarm1 Screenshot 2024-09-21 012008

Translations

Translations

Help us translate this app into your language or improve existing translations. Join our team!"

Contributing

You want to improve the project? Please ensure you read the contribution guidelines

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

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors