aa-structures 4.0.2__tar.gz → 4.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aa_structures-4.0.2 → aa_structures-4.0.3}/.github/workflows/ci-cd.yaml +2 -8
- {aa_structures-4.0.2 → aa_structures-4.0.3}/CHANGELOG.md +1 -3
- {aa_structures-4.0.2 → aa_structures-4.0.3}/Makefile +5 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/PKG-INFO +3 -3
- {aa_structures-4.0.2 → aa_structures-4.0.3}/README.md +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/user.md +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/pyproject.toml +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/__init__.py +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/admin.py +3 -3
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/app_settings.py +26 -9
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/apps.py +2 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/auth_hooks.py +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/__init__.py +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/billing_embeds.py +4 -5
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/corporate_embeds.py +4 -5
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/main.py +14 -11
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/moonmining_embeds.py +4 -5
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/orbital_embeds.py +4 -5
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/skyhook_embeds.py +3 -4
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/sov_embeds.py +8 -9
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/structures_embeds.py +4 -5
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/tower_embeds.py +3 -4
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/war_embeds.py +5 -3
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_timers.py +46 -47
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/forms.py +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/managers.py +27 -15
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/models/__init__.py +5 -5
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/models/notifications.py +28 -25
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/models/owners.py +9 -6
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/models/structures_1.py +2 -3
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/models/structures_2.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/providers.py +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tasks.py +10 -8
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/helpers.py +7 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_notifications_2.py +10 -12
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/test_admin.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/test_managers_1.py +24 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/test_managers_2.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/test_tasks.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/factories.py +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/helpers.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/views/test_public.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/views/test_statistics.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/views/test_structures.py +1 -3
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/urls.py +1 -1
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/views/public.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/views/statistics.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/views/structures.py +1 -2
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/webhooks/models.py +2 -2
- aa_structures-4.0.3/testauth/settings_aa5/__init__.py +0 -0
- aa_structures-4.0.2/structures/tests/__init__.py +0 -5
- aa_structures-4.0.2/structures/tests/views/utils.py +0 -6
- {aa_structures-4.0.2 → aa_structures-4.0.3}/.coveragerc +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/.gitignore +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/.pre-commit-config.yaml +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/.readthedocs.yml +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/.tx/config +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/CONTRIBUTING.md +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/LICENSE +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/aa-structures_models.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/codecov.yml +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/Makefile +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/_static/css/rtd_dark.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/conf.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/index.rst +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/make.bat +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/operations.md +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/docs/requirements.txt +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/runtests.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/checks.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/constants.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/helpers.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_types.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/serializers.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/sovereignty.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/starbases.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/helpers.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/de/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/de/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/django.pot +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/en/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/en/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/es/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/es/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/fr_FR/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/it_IT/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/ja/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/ja/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/ko_KR/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/ru/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/ru/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/uk/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/uk/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/locale/zh_Hans/LC_MESSAGES/django.po +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/management/commands/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/management/commands/structures_load_eve.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/management/commands/structures_preload_eveuniverse.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/management/commands/structures_update_poco_planets.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0001_initial_new.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0002_remove_eveuniverse_relation_names.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0003_add_localization_and_unique_key.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0004_improve_localization.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0005_add_notification_types.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0006_add_ownercharacter_disabled.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0007_add_notificationtypes_skyhook_metenox.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0008_add_notificationtypes_skyhook_metenox.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/0009_add_project_goal_notifications.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/migrations/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/models/eveuniverse.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/openapi_2025-12-16.json +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/css/global.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/css/main.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/css/public.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/css/statistics.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/css/structures.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/bars-rotate-fade-black-36.svg +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/bars-rotate-fade-white-36.svg +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/eve_symbol_128.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/0h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/0l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/0m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/0r.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/0s.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/1h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/1l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/1m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/1r.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/1s.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/2h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/2l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/2m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/2r.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/2s.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/3h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/3l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/3m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/3r.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/3s.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/4h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/4l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/4m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/4s.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/5h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/5l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/5m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/5s.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/6h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/6l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/6m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/7h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/7l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/7m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/8h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/8l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/8m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/blank.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/circle.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/dustwheel.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/h.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/l.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/m.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/noship.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/r.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/tyrannis.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/tyrannis_blue.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/tyrannis_darkred.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/tyrannis_default.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/panel/tyrannis_revelations.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/img/structures_logo.png +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/js/global.js +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/js/public.js +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/js/statistics.js +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/js/structures.js +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/vendor/datatables/plugins/dataTables.rowGroup.min.js +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/vendor/datatables/plugins/datetime.js +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/vendor/datatables/plugins/filterDropDown.min.js +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/vendor/datatables/plugins/rowGroup.bootstrap.min.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/static/structures/vendor/datatables/plugins/rowGroup.dataTables.min.css +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/base.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/modals/fitting_assets.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/modals/fitting_gfx.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/modals/poco_details.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/modals/starbase_detail.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/modals/structure_details.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/modals/tab_general_detail.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/modals/tab_services_detail.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/menu.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/public/poco_list.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/statistics/structure_summary.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/structures/active_tags.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/structures/jump_gate_list.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/structures/orbital_list.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/structures/starbase_list.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/partials/structures/structure_list.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/public.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/statistics.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/structures.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/templatetags/detail_title.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/templatetags/list_asset.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/templatetags/list_item.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/templatetags/list_tax_item.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templates/structures/templatetags/list_title.html +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templatetags/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/templatetags/structures.py +0 -0
- {aa_structures-4.0.2/structures/tests/core → aa_structures-4.0.3/structures/tests}/__init__.py +0 -0
- {aa_structures-4.0.2/structures/tests/core/notification_embeds → aa_structures-4.0.3/structures/tests/core}/__init__.py +0 -0
- {aa_structures-4.0.2/structures/tests/integration → aa_structures-4.0.3/structures/tests/core/notification_embeds}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/notification_embeds/test_helpers.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/notification_embeds/test_main.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/test_notification_structuretimers.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/test_notification_types.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/test_notifications_timers.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/test_serializers.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/test_sovereignty.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/core/test_starbases.py +0 -0
- {aa_structures-4.0.2/structures/tests/models → aa_structures-4.0.3/structures/tests/integration}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/integration/test_tasks.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/integration/test_views.py +0 -0
- {aa_structures-4.0.2/structures/tests/testdata → aa_structures-4.0.3/structures/tests/models}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_eveuniverse.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_notifications_1.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_notifications_3.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_notifications_discord.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_owners_1.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_owners_2.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_owners_3.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_owners_4.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_owners_5.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_owners_6.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/models/test_structures.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/test_helpers.py +0 -0
- {aa_structures-4.0.2/structures/tests/views → aa_structures-4.0.3/structures/tests/testdata}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/constants.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/generate_notifications.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/generate_notifications_2.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/generate_structures.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/notifications.json +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/tasks_loadtest.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/testdata/test_generate_structures.py +0 -0
- {aa_structures-4.0.2/structures → aa_structures-4.0.3/structures/tests}/views/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/tests/views/test_service_status.py +0 -0
- {aa_structures-4.0.2/structures/webhooks → aa_structures-4.0.3/structures/views}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/views/common.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/views/status.py +0 -0
- {aa_structures-4.0.2/structures/webhooks/tests → aa_structures-4.0.3/structures/webhooks}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/webhooks/core.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/webhooks/managers.py +0 -0
- {aa_structures-4.0.2/testauth/settings_aa4 → aa_structures-4.0.3/structures/webhooks/tests}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/webhooks/tests/test_core.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/structures/webhooks/tests/test_utils.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/celery.py +0 -0
- {aa_structures-4.0.2/testauth/settings_aa5 → aa_structures-4.0.3/testauth/settings_aa4}/__init__.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/settings_aa4/base.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/settings_aa4/local.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/settings_aa5/base.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/settings_aa5/local.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/urls.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/testauth/wsgi.py +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/tools/drop_tables.sql +0 -0
- {aa_structures-4.0.2 → aa_structures-4.0.3}/tox.ini +0 -0
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
name: CI/CD Pipeline
|
|
2
2
|
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- "**"
|
|
7
|
-
tags:
|
|
8
|
-
- "*"
|
|
9
|
-
pull_request:
|
|
3
|
+
on: push
|
|
10
4
|
|
|
11
5
|
jobs:
|
|
12
6
|
pre-commit:
|
|
@@ -107,7 +101,7 @@ jobs:
|
|
|
107
101
|
pip install tox
|
|
108
102
|
tox -e docs
|
|
109
103
|
|
|
110
|
-
|
|
104
|
+
publish:
|
|
111
105
|
needs: [test, test-docs]
|
|
112
106
|
if: startsWith(github.ref, 'refs/tags/')
|
|
113
107
|
runs-on: ubuntu-latest
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> [!WARNING]
|
|
4
4
|
> This file has been decommissioned. Changes are now documented on the GitHub releases page.
|
|
5
5
|
|
|
6
6
|
All notable changes to this project will be documented in this file.
|
|
@@ -8,8 +8,6 @@ All notable changes to this project will be documented in this file.
|
|
|
8
8
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|
9
9
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
10
10
|
|
|
11
|
-
## [Unreleased] - yyyy-mm-dd
|
|
12
|
-
|
|
13
11
|
## [4.0.2] - 2026-07-13
|
|
14
12
|
|
|
15
13
|
### Changed
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aa-structures
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.3
|
|
4
4
|
Summary: An app for managing Eve Online structures with Alliance Auth.
|
|
5
|
-
Author-email: Erik Kalkoken <
|
|
5
|
+
Author-email: Erik Kalkoken <erik.kalkoken@gmail.com>
|
|
6
6
|
Requires-Python: >=3.10
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: Environment :: Web Environment
|
|
@@ -69,7 +69,7 @@ Structures adds the following main features to Alliance Auth:
|
|
|
69
69
|
- Sovereignty
|
|
70
70
|
- Wars
|
|
71
71
|
- Corporation membership changes
|
|
72
|
-
- Automatically adds timers from relevant notifications to [Alliance Auth Structure Timers](https://allianceauth.readthedocs.io/en/latest/features/apps/timerboard.html) or [Structure Timers II](https://
|
|
72
|
+
- Automatically adds timers from relevant notifications to [Alliance Auth Structure Timers](https://allianceauth.readthedocs.io/en/latest/features/apps/timerboard.html) or [Structure Timers II](https://github.com/AllianceAuth-Apps/aa-structuretimers) app (if installed)
|
|
73
73
|
- Fittings, contents of Upwell structures (e.g. fuel blocks and ammo) and current fuel usage
|
|
74
74
|
- Additional structure notifications generated by the app:
|
|
75
75
|
- Configurable alerts to warn about fuel running at in structures and POSes, and which can replace the ESI notifications
|
|
@@ -31,7 +31,7 @@ Structures adds the following main features to Alliance Auth:
|
|
|
31
31
|
- Sovereignty
|
|
32
32
|
- Wars
|
|
33
33
|
- Corporation membership changes
|
|
34
|
-
- Automatically adds timers from relevant notifications to [Alliance Auth Structure Timers](https://allianceauth.readthedocs.io/en/latest/features/apps/timerboard.html) or [Structure Timers II](https://
|
|
34
|
+
- Automatically adds timers from relevant notifications to [Alliance Auth Structure Timers](https://allianceauth.readthedocs.io/en/latest/features/apps/timerboard.html) or [Structure Timers II](https://github.com/AllianceAuth-Apps/aa-structuretimers) app (if installed)
|
|
35
35
|
- Fittings, contents of Upwell structures (e.g. fuel blocks and ammo) and current fuel usage
|
|
36
36
|
- Additional structure notifications generated by the app:
|
|
37
37
|
- Configurable alerts to warn about fuel running at in structures and POSes, and which can replace the ESI notifications
|
|
@@ -125,7 +125,7 @@ Structures has the ability to measure the average notification delay of your sys
|
|
|
125
125
|
|
|
126
126
|
## Admin status notifications
|
|
127
127
|
|
|
128
|
-
Many alliances are relying that the structure services - i.e. getting attack and fuel notifications on Discord. However, outages can occur, e.g. when tokens become invalid or the Eve Online API server (ESI) has issues. To give alliances the ability to fix outages quickly, Structures has a build in service monitoring capability. Should an issue occur it will automatically send an Auth notification to admins. When combined with the app [Discord Notify](https://
|
|
128
|
+
Many alliances are relying that the structure services - i.e. getting attack and fuel notifications on Discord. However, outages can occur, e.g. when tokens become invalid or the Eve Online API server (ESI) has issues. To give alliances the ability to fix outages quickly, Structures has a build in service monitoring capability. Should an issue occur it will automatically send an Auth notification to admins. When combined with the app [Discord Notify](https://github.com/AllianceAuth-Apps/aa-discordnotify), those notifications will be forwarded immediately to Discord, allowing admins to take quick action to resolve any issues.
|
|
129
129
|
|
|
130
130
|
There are currently two types of issue related admin notifications:
|
|
131
131
|
|
|
@@ -8,7 +8,7 @@ dynamic = ["version", "description"]
|
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
license = { file = "LICENSE" }
|
|
10
10
|
requires-python = ">=3.10"
|
|
11
|
-
authors = [{ name = "Erik Kalkoken", email = "
|
|
11
|
+
authors = [{ name = "Erik Kalkoken", email = "erik.kalkoken@gmail.com" }]
|
|
12
12
|
classifiers = [
|
|
13
13
|
"Environment :: Web Environment",
|
|
14
14
|
"Framework :: Django",
|
|
@@ -19,9 +19,9 @@ from allianceauth.eveonline.models import EveAllianceInfo, EveCorporationInfo
|
|
|
19
19
|
from allianceauth.services.hooks import get_extension_logger
|
|
20
20
|
from app_utils.django import admin_boolean_icon_html
|
|
21
21
|
|
|
22
|
-
from
|
|
23
|
-
from .core.notification_types import NotificationType
|
|
24
|
-
from .models import (
|
|
22
|
+
from structures import app_settings, tasks
|
|
23
|
+
from structures.core.notification_types import NotificationType
|
|
24
|
+
from structures.models import (
|
|
25
25
|
FuelAlert,
|
|
26
26
|
FuelAlertConfig,
|
|
27
27
|
GeneratedNotification,
|
|
@@ -3,10 +3,22 @@
|
|
|
3
3
|
from app_utils.app_settings import clean_setting
|
|
4
4
|
|
|
5
5
|
STRUCTURES_ADD_TIMERS = clean_setting("STRUCTURES_ADD_TIMERS", True)
|
|
6
|
-
"""Whether to automatically add timers for
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
"""Whether to automatically add timers for supported notification types
|
|
7
|
+
to Alliance Auth's Structure Timers or Erik's Structure Timers
|
|
8
|
+
(apps have to be installed for this setting to work).
|
|
9
|
+
|
|
10
|
+
Supported notification types are:
|
|
11
|
+
|
|
12
|
+
- moon mining extraction canceled
|
|
13
|
+
- moon mining extraction started
|
|
14
|
+
- orbital reinforced
|
|
15
|
+
- skyhook lost shield
|
|
16
|
+
- sov structure reinforced
|
|
17
|
+
- structure lost armor
|
|
18
|
+
- structure lost shield
|
|
19
|
+
- tower reinforced
|
|
20
|
+
|
|
21
|
+
Moon mining notifications can be disabled with `STRUCTURES_MOON_EXTRACTION_TIMERS_ENABLED`.
|
|
10
22
|
"""
|
|
11
23
|
|
|
12
24
|
STRUCTURES_ADMIN_NOTIFICATIONS_ENABLED = clean_setting(
|
|
@@ -77,7 +89,10 @@ Stale notification will no longer be sent automatically.
|
|
|
77
89
|
STRUCTURES_MOON_EXTRACTION_TIMERS_ENABLED = clean_setting(
|
|
78
90
|
"STRUCTURES_MOON_EXTRACTION_TIMERS_ENABLED", True
|
|
79
91
|
)
|
|
80
|
-
"""Whether to
|
|
92
|
+
"""Whether to include moon mining extraction notifications when adding timers.
|
|
93
|
+
|
|
94
|
+
Requires the "add timers" feature to be enabled with `STRUCTURES_ADD_TIMERS`
|
|
95
|
+
"""
|
|
81
96
|
|
|
82
97
|
STRUCTURES_NOTIFICATION_MAX_RETRIES = clean_setting(
|
|
83
98
|
"STRUCTURES_NOTIFICATION_MAX_RETRIES", 3
|
|
@@ -89,14 +104,14 @@ if an error occurred e.g. rate limiting.
|
|
|
89
104
|
STRUCTURES_NOTIFICATION_SET_AVATAR = clean_setting(
|
|
90
105
|
"STRUCTURES_NOTIFICATION_SET_AVATAR", True
|
|
91
106
|
)
|
|
92
|
-
"""
|
|
107
|
+
"""Whether structures sets the name and avatar icon of a webhook.
|
|
93
108
|
When ``False`` the webhook will use it's own values as set on the platform.
|
|
94
109
|
"""
|
|
95
110
|
|
|
96
111
|
STRUCTURES_NOTIFICATION_SHOW_MOON_ORE = clean_setting(
|
|
97
112
|
"STRUCTURES_NOTIFICATION_SHOW_MOON_ORE", True
|
|
98
113
|
)
|
|
99
|
-
"""
|
|
114
|
+
"""Whether ore details are shown on moon timers."""
|
|
100
115
|
|
|
101
116
|
|
|
102
117
|
STRUCTURES_NOTIFICATION_SYNC_GRACE_MINUTES = clean_setting(
|
|
@@ -131,7 +146,9 @@ STRUCTURES_REPORT_NPC_ATTACKS = clean_setting("STRUCTURES_REPORT_NPC_ATTACKS", T
|
|
|
131
146
|
STRUCTURES_SHOW_FUEL_EXPIRES_RELATIVE = clean_setting(
|
|
132
147
|
"STRUCTURES_SHOW_FUEL_EXPIRES_RELATIVE", True
|
|
133
148
|
)
|
|
134
|
-
"""Whether fuel
|
|
149
|
+
"""Whether fuel expiration in the structures browser is shown as a relative value
|
|
150
|
+
(e.g., time remaining) instead of an absolute date.
|
|
151
|
+
"""
|
|
135
152
|
|
|
136
153
|
STRUCTURES_SHOW_JUMP_GATES = clean_setting("STRUCTURES_SHOW_JUMP_GATES", True)
|
|
137
154
|
"""Whether to show the jump gates tab."""
|
|
@@ -175,7 +192,7 @@ STRUCTURES_NOTIFICATION_TURNAROUND_LONG = clean_setting(
|
|
|
175
192
|
"STRUCTURES_NOTIFICATION_TURNAROUND_LONG", 50
|
|
176
193
|
)
|
|
177
194
|
|
|
178
|
-
# Turnaround
|
|
195
|
+
# Turnaround durations of more than x seconds are regarded as outliers
|
|
179
196
|
# and will be ignored when calculating the averages
|
|
180
197
|
STRUCTURES_NOTIFICATION_TURNAROUND_MAX_VALID = clean_setting(
|
|
181
198
|
"STRUCTURES_NOTIFICATION_TURNAROUND_MAX_VALID", 3600
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from django.apps import AppConfig
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from structures import __version__
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class StructuresConfig(AppConfig):
|
|
@@ -9,4 +9,4 @@ class StructuresConfig(AppConfig):
|
|
|
9
9
|
verbose_name = f"Structures v{__version__}"
|
|
10
10
|
|
|
11
11
|
def ready(self) -> None:
|
|
12
|
-
from
|
|
12
|
+
from structures import checks # noqa: F401 pylint: disable=unused-import
|
|
@@ -3,7 +3,7 @@ from django.utils.translation import gettext_lazy as _
|
|
|
3
3
|
from allianceauth import hooks
|
|
4
4
|
from allianceauth.services.hooks import MenuItemHook, UrlHook
|
|
5
5
|
|
|
6
|
-
from
|
|
6
|
+
from structures import __title__, urls
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class StructuresMenuItem(MenuItemHook):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/billing_embeds.py
RENAMED
|
@@ -12,15 +12,14 @@ from app_utils.datetime import ldap_time_2_datetime
|
|
|
12
12
|
from app_utils.helpers import humanize_number
|
|
13
13
|
|
|
14
14
|
from structures.constants import EveTypeId
|
|
15
|
-
from structures.helpers import
|
|
16
|
-
from structures.models import Notification, Webhook
|
|
17
|
-
|
|
18
|
-
from .helpers import (
|
|
15
|
+
from structures.core.notification_embeds.helpers import (
|
|
19
16
|
gen_eve_entity_link,
|
|
20
17
|
gen_solar_system_text,
|
|
21
18
|
target_datetime_formatted,
|
|
22
19
|
)
|
|
23
|
-
from .main import NotificationBaseEmbed
|
|
20
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
21
|
+
from structures.helpers import get_or_create_eve_entity, get_or_create_eve_type
|
|
22
|
+
from structures.models import Notification, Webhook
|
|
24
23
|
|
|
25
24
|
|
|
26
25
|
class BillType(models.IntegerChoices):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/corporate_embeds.py
RENAMED
|
@@ -6,15 +6,14 @@ import dhooks_lite
|
|
|
6
6
|
|
|
7
7
|
from django.utils.translation import gettext as _
|
|
8
8
|
|
|
9
|
-
from structures.helpers import
|
|
10
|
-
from structures.models import Notification, Webhook
|
|
11
|
-
|
|
12
|
-
from .helpers import (
|
|
9
|
+
from structures.core.notification_embeds.helpers import (
|
|
13
10
|
gen_corporation_link,
|
|
14
11
|
gen_eve_entity_link,
|
|
15
12
|
gen_eve_entity_link_from_id,
|
|
16
13
|
)
|
|
17
|
-
from .main import NotificationBaseEmbed
|
|
14
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
15
|
+
from structures.helpers import get_or_create_eve_entity
|
|
16
|
+
from structures.models import Notification, Webhook
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
class NotificationCorpCharEmbed(NotificationBaseEmbed):
|
|
@@ -14,12 +14,15 @@ from allianceauth.services.hooks import get_extension_logger
|
|
|
14
14
|
from app_utils.urls import reverse_absolute, static_file_absolute_url
|
|
15
15
|
|
|
16
16
|
from structures import __title__
|
|
17
|
+
from structures.core.notification_embeds.helpers import (
|
|
18
|
+
gen_alliance_link,
|
|
19
|
+
gen_corporation_link,
|
|
20
|
+
target_datetime_formatted,
|
|
21
|
+
)
|
|
17
22
|
from structures.core.notification_types import NotificationType
|
|
18
23
|
from structures.helpers import get_or_create_eve_entity, is_absolute_url
|
|
19
24
|
from structures.models.notifications import Notification, NotificationBase, Webhook
|
|
20
25
|
|
|
21
|
-
from .helpers import gen_alliance_link, gen_corporation_link, target_datetime_formatted
|
|
22
|
-
|
|
23
26
|
logger = get_extension_logger(__name__)
|
|
24
27
|
|
|
25
28
|
|
|
@@ -183,13 +186,13 @@ class NotificationBaseEmbed:
|
|
|
183
186
|
def create(notif: "NotificationBase") -> "NotificationBaseEmbed":
|
|
184
187
|
"""Creates a new instance of the respective subclass for given Notification."""
|
|
185
188
|
|
|
186
|
-
from .billing_embeds import (
|
|
189
|
+
from structures.core.notification_embeds.billing_embeds import (
|
|
187
190
|
NotificationBillingBillOutOfMoneyMsg,
|
|
188
191
|
NotificationBillingIHubBillAboutToExpire,
|
|
189
192
|
NotificationBillingIHubDestroyedByBillFailure,
|
|
190
193
|
NotificationCorpAllBillMsg,
|
|
191
194
|
)
|
|
192
|
-
from .corporate_embeds import (
|
|
195
|
+
from structures.core.notification_embeds.corporate_embeds import (
|
|
193
196
|
NotificationCharAppAcceptMsg,
|
|
194
197
|
NotificationCharAppRejectMsg,
|
|
195
198
|
NotificationCharAppWithdrawMsg,
|
|
@@ -201,25 +204,25 @@ class NotificationBaseEmbed:
|
|
|
201
204
|
NotificationCorpGoalCompleted,
|
|
202
205
|
NotificationCorpGoalCreated,
|
|
203
206
|
)
|
|
204
|
-
from .moonmining_embeds import (
|
|
207
|
+
from structures.core.notification_embeds.moonmining_embeds import (
|
|
205
208
|
NotificationMoonminningAutomaticFracture,
|
|
206
209
|
NotificationMoonminningExtractionCanceled,
|
|
207
210
|
NotificationMoonminningExtractionFinished,
|
|
208
211
|
NotificationMoonminningExtractionStarted,
|
|
209
212
|
NotificationMoonminningLaserFired,
|
|
210
213
|
)
|
|
211
|
-
from .orbital_embeds import (
|
|
214
|
+
from structures.core.notification_embeds.orbital_embeds import (
|
|
212
215
|
NotificationOrbitalAttacked,
|
|
213
216
|
NotificationOrbitalReinforced,
|
|
214
217
|
)
|
|
215
|
-
from .skyhook_embeds import (
|
|
218
|
+
from structures.core.notification_embeds.skyhook_embeds import (
|
|
216
219
|
NotificationSkyhookDeployed,
|
|
217
220
|
NotificationSkyhookDestroyed,
|
|
218
221
|
NotificationSkyhookLostShield,
|
|
219
222
|
NotificationSkyhookOnline,
|
|
220
223
|
NotificationSkyhookUnderAttack,
|
|
221
224
|
)
|
|
222
|
-
from .sov_embeds import (
|
|
225
|
+
from structures.core.notification_embeds.sov_embeds import (
|
|
223
226
|
NotificationSovAllAnchoringMsg,
|
|
224
227
|
NotificationSovAllClaimAcquiredMsg,
|
|
225
228
|
NotificationSovAllClaimLostMsg,
|
|
@@ -228,7 +231,7 @@ class NotificationBaseEmbed:
|
|
|
228
231
|
NotificationSovStructureDestroyed,
|
|
229
232
|
NotificationSovStructureReinforced,
|
|
230
233
|
)
|
|
231
|
-
from .structures_embeds import (
|
|
234
|
+
from structures.core.notification_embeds.structures_embeds import (
|
|
232
235
|
NotificationStructureAnchoring,
|
|
233
236
|
NotificationStructureDestroyed,
|
|
234
237
|
NotificationStructureFuelAlert,
|
|
@@ -247,13 +250,13 @@ class NotificationBaseEmbed:
|
|
|
247
250
|
NotificationStructureWentHighPower,
|
|
248
251
|
NotificationStructureWentLowPower,
|
|
249
252
|
)
|
|
250
|
-
from .tower_embeds import (
|
|
253
|
+
from structures.core.notification_embeds.tower_embeds import (
|
|
251
254
|
NotificationTowerAlertMsg,
|
|
252
255
|
NotificationTowerRefueledExtra,
|
|
253
256
|
NotificationTowerReinforcedExtra,
|
|
254
257
|
NotificationTowerResourceAlertMsg,
|
|
255
258
|
)
|
|
256
|
-
from .war_embeds import (
|
|
259
|
+
from structures.core.notification_embeds.war_embeds import (
|
|
257
260
|
NotificationAcceptedAlly,
|
|
258
261
|
NotificationAllWarCorpJoinedAllianceMsg,
|
|
259
262
|
NotificationAllWarSurrenderMsg,
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/moonmining_embeds.py
RENAMED
|
@@ -10,15 +10,14 @@ from django.utils.translation import gettext as _
|
|
|
10
10
|
from app_utils.datetime import ldap_time_2_datetime
|
|
11
11
|
|
|
12
12
|
from structures.app_settings import STRUCTURES_NOTIFICATION_SHOW_MOON_ORE
|
|
13
|
-
from structures.helpers import
|
|
14
|
-
from structures.models import Notification, Webhook
|
|
15
|
-
|
|
16
|
-
from .helpers import (
|
|
13
|
+
from structures.core.notification_embeds.helpers import (
|
|
17
14
|
gen_corporation_link,
|
|
18
15
|
gen_solar_system_text,
|
|
19
16
|
target_datetime_formatted,
|
|
20
17
|
)
|
|
21
|
-
from .main import NotificationBaseEmbed
|
|
18
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
19
|
+
from structures.helpers import get_or_create_eve_entity, get_or_create_eve_type
|
|
20
|
+
from structures.models import Notification, Webhook
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
class NotificationMoonminingEmbed(NotificationBaseEmbed):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/orbital_embeds.py
RENAMED
|
@@ -9,15 +9,14 @@ from django.utils.translation import gettext as _
|
|
|
9
9
|
from app_utils.datetime import ldap_time_2_datetime
|
|
10
10
|
|
|
11
11
|
from structures.constants import EveTypeId
|
|
12
|
-
from structures.helpers import
|
|
13
|
-
from structures.models import Notification, Webhook
|
|
14
|
-
|
|
15
|
-
from .helpers import (
|
|
12
|
+
from structures.core.notification_embeds.helpers import (
|
|
16
13
|
gen_corporation_link,
|
|
17
14
|
gen_solar_system_text,
|
|
18
15
|
target_datetime_formatted,
|
|
19
16
|
)
|
|
20
|
-
from .main import NotificationBaseEmbed
|
|
17
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
18
|
+
from structures.helpers import get_or_create_eve_type
|
|
19
|
+
from structures.models import Notification, Webhook
|
|
21
20
|
|
|
22
21
|
|
|
23
22
|
class NotificationOrbitalEmbed(NotificationBaseEmbed):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/skyhook_embeds.py
RENAMED
|
@@ -8,14 +8,13 @@ from django.utils.translation import gettext as _
|
|
|
8
8
|
|
|
9
9
|
from app_utils.datetime import ldap_time_2_datetime
|
|
10
10
|
|
|
11
|
-
from structures.
|
|
12
|
-
|
|
13
|
-
from .helpers import (
|
|
11
|
+
from structures.core.notification_embeds.helpers import (
|
|
14
12
|
gen_corporation_link,
|
|
15
13
|
gen_solar_system_text,
|
|
16
14
|
target_datetime_formatted,
|
|
17
15
|
)
|
|
18
|
-
from .main import NotificationBaseEmbed
|
|
16
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
17
|
+
from structures.models import Notification, Webhook
|
|
19
18
|
|
|
20
19
|
|
|
21
20
|
class NotificationSkyhookEmbed(NotificationBaseEmbed):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/sov_embeds.py
RENAMED
|
@@ -11,21 +11,20 @@ from app_utils.datetime import ldap_time_2_datetime
|
|
|
11
11
|
|
|
12
12
|
from structures.constants import EveTypeId
|
|
13
13
|
from structures.core import sovereignty
|
|
14
|
-
from structures.helpers import (
|
|
15
|
-
get_or_create_esi_obj,
|
|
16
|
-
get_or_create_eve_entity,
|
|
17
|
-
get_or_create_eve_type,
|
|
18
|
-
)
|
|
19
|
-
from structures.models import Notification, Webhook
|
|
20
|
-
|
|
21
|
-
from .helpers import (
|
|
14
|
+
from structures.core.notification_embeds.helpers import (
|
|
22
15
|
gen_alliance_link,
|
|
23
16
|
gen_corporation_link,
|
|
24
17
|
gen_eve_entity_link,
|
|
25
18
|
gen_solar_system_text,
|
|
26
19
|
target_datetime_formatted,
|
|
27
20
|
)
|
|
28
|
-
from .main import NotificationBaseEmbed
|
|
21
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
22
|
+
from structures.helpers import (
|
|
23
|
+
get_or_create_esi_obj,
|
|
24
|
+
get_or_create_eve_entity,
|
|
25
|
+
get_or_create_eve_type,
|
|
26
|
+
)
|
|
27
|
+
from structures.models import Notification, Webhook
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
class NotificationSovEmbed(NotificationBaseEmbed):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/structures_embeds.py
RENAMED
|
@@ -10,16 +10,15 @@ from django.utils.translation import gettext as _
|
|
|
10
10
|
|
|
11
11
|
from app_utils.datetime import ldap_time_2_datetime, ldap_timedelta_2_timedelta
|
|
12
12
|
|
|
13
|
-
from structures.helpers import
|
|
14
|
-
from structures.models import Notification, Structure, Webhook
|
|
15
|
-
|
|
16
|
-
from .helpers import (
|
|
13
|
+
from structures.core.notification_embeds.helpers import (
|
|
17
14
|
gen_corporation_link,
|
|
18
15
|
gen_solar_system_text,
|
|
19
16
|
target_datetime_formatted,
|
|
20
17
|
timeuntil,
|
|
21
18
|
)
|
|
22
|
-
from .main import NotificationBaseEmbed
|
|
19
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
20
|
+
from structures.helpers import get_or_create_eve_entity, get_or_create_eve_type
|
|
21
|
+
from structures.models import Notification, Structure, Webhook
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
class NotificationStructureEmbed(NotificationBaseEmbed):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/tower_embeds.py
RENAMED
|
@@ -9,15 +9,14 @@ import dhooks_lite
|
|
|
9
9
|
from django.utils.translation import gettext as _
|
|
10
10
|
|
|
11
11
|
from structures.core import starbases
|
|
12
|
-
from structures.
|
|
13
|
-
|
|
14
|
-
from .helpers import (
|
|
12
|
+
from structures.core.notification_embeds.helpers import (
|
|
15
13
|
gen_corporation_link,
|
|
16
14
|
gen_solar_system_text,
|
|
17
15
|
target_datetime_formatted,
|
|
18
16
|
timeuntil,
|
|
19
17
|
)
|
|
20
|
-
from .main import NotificationBaseEmbed
|
|
18
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
19
|
+
from structures.models import GeneratedNotification, Notification, Structure, Webhook
|
|
21
20
|
|
|
22
21
|
|
|
23
22
|
class NotificationTowerEmbed(NotificationBaseEmbed):
|
{aa_structures-4.0.2 → aa_structures-4.0.3}/structures/core/notification_embeds/war_embeds.py
RENAMED
|
@@ -11,12 +11,14 @@ from django.utils.translation import gettext as _
|
|
|
11
11
|
from app_utils.datetime import ldap_time_2_datetime
|
|
12
12
|
from app_utils.helpers import humanize_number
|
|
13
13
|
|
|
14
|
+
from structures.core.notification_embeds.helpers import (
|
|
15
|
+
gen_eve_entity_link,
|
|
16
|
+
target_datetime_formatted,
|
|
17
|
+
)
|
|
18
|
+
from structures.core.notification_embeds.main import NotificationBaseEmbed
|
|
14
19
|
from structures.helpers import get_or_create_eve_entity
|
|
15
20
|
from structures.models import Notification, Webhook
|
|
16
21
|
|
|
17
|
-
from .helpers import gen_eve_entity_link, target_datetime_formatted
|
|
18
|
-
from .main import NotificationBaseEmbed
|
|
19
|
-
|
|
20
22
|
|
|
21
23
|
class NotificationAcceptedAlly(NotificationBaseEmbed):
|
|
22
24
|
def __init__(self, notification: Notification) -> None:
|