aa-sov-timer 3.0.0b3__tar.gz → 3.2.0__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_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/PKG-INFO +46 -30
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/README.md +44 -28
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/pyproject.toml +1 -1
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/__init__.py +1 -1
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/auth_hooks.py +7 -6
- aa_sov_timer-3.2.0/sovtimer/handler/esi_handler.py +85 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/cs_CZ/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/de/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/django.pot +15 -15
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/es/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/fr_FR/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/it_IT/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/ja/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/ko_KR/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/nl_NL/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/pl_PL/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/ru/LC_MESSAGES/django.po +14 -14
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/sk/LC_MESSAGES/django.po +14 -14
- aa_sov_timer-3.2.0/sovtimer/locale/uk/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/uk/LC_MESSAGES/django.po +20 -20
- aa_sov_timer-3.2.0/sovtimer/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/zh_Hans/LC_MESSAGES/django.po +23 -22
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/models.py +13 -44
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/css/aa-sov-timer.css +17 -1
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/css/aa-sov-timer.min.css +2 -0
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/css/aa-sov-timer.min.css.map +1 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/js/aa-sov-timer.js +116 -23
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/js/aa-sov-timer.min.js +2 -0
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/js/aa-sov-timer.min.js.map +1 -0
- {aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4 → aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5}/dataTables.bootstrap5.js +1 -2
- {aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4 → aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5}/dataTables.bootstrap5.min.js +1 -2
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5/dataTables.bootstrap5.min.js.map +1 -0
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5/dataTables.js +14127 -0
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5/dataTables.min.js +5 -0
- aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5/dataTables.min.js.map +1 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/base.html +7 -2
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/bundles/datatables-2-css.html +1 -1
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/bundles/datatables-2-js.html +2 -2
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/partials/dashboard/table.html +3 -3
- aa_sov_timer-3.2.0/sovtimer/tests/test_auth_hooks.py +76 -0
- aa_sov_timer-3.2.0/sovtimer/tests/test_handler_esi.py +110 -0
- aa_sov_timer-3.2.0/sovtimer/tests/test_integration.py +22 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/utils.py +14 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/views.py +9 -3
- aa_sov_timer-3.0.0b3/sovtimer/locale/uk/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-3.0.0b3/sovtimer/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/css/aa-sov-timer.min.css +0 -2
- aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/css/aa-sov-timer.min.css.map +0 -1
- aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/js/aa-sov-timer.min.js +0 -2
- aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/js/aa-sov-timer.min.js.map +0 -1
- aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4/dataTables.bootstrap5.min.js.map +0 -1
- aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4/datatables.min.js +0 -10
- aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4/datatables.min.js.map +0 -1
- aa_sov_timer-3.0.0b3/sovtimer/tests/test_integration.py +0 -61
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/.gitignore +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/LICENSE +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/app_settings.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/apps.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/constants.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/.gitkeep +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/de/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/es/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/ja/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/ru/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/locale/sk/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/management/commands/__init__.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/management/commands/sovtimer_load_initial_data.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0001_initial.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0002_aasovtimercampaigns_aasovtimerstructures.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0003_auto_20201113_1033.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0004_auto_20201113_1856.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0005_auto_20201114_0720.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0006_rename_models.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0007_cleanup_models.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0008_fix_campaign_attackers_score.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0009_alter_campaign_options_and_more.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/0010_alter_campaign_event_type.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/migrations/__init__.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/providers.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/font/materialicons/v143/MaterialIcons-Regular.woff2 +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/font/materialicons/v143/README.md +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/images/zkillboard.png +0 -0
- {aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4 → aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5}/dataTables.bootstrap5.css +0 -0
- {aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4 → aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5}/dataTables.bootstrap5.min.css +0 -0
- {aa_sov_timer-3.0.0b3/sovtimer/static/sovtimer/libs/DataTables/2.3.4 → aa_sov_timer-3.2.0/sovtimer/static/sovtimer/libs/DataTables/2.3.5}/dataTables.bootstrap5.min.css.map +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/css/columnControl.bootstrap5.css +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/css/columnControl.bootstrap5.min.css +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/css/columnControl.bootstrap5.min.css.map +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/js/columnControl.bootstrap5.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/js/columnControl.bootstrap5.min.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/js/columnControl.bootstrap5.min.js.map +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/js/dataTables.columnControl.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/js/dataTables.columnControl.min.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/ColumnControl/1.1.1/js/dataTables.columnControl.min.js.map +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/css/fixedHeader.bootstrap5.css +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/css/fixedHeader.bootstrap5.min.css +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/css/fixedHeader.bootstrap5.min.css.map +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/js/dataTables.fixedHeader.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/js/dataTables.fixedHeader.min.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/js/dataTables.fixedHeader.min.js.map +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/js/fixedHeader.bootstrap5.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/js/fixedHeader.bootstrap5.min.js +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/static/sovtimer/libs/DataTables/Extensions/FixedHeader/4.0.4/js/fixedHeader.bootstrap5.min.js.map +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tasks.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/bundles/aa-sov-timer-css.html +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/bundles/aa-sov-timer-js.html +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/dashboard.html +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/partials/common/spinner.html +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/templates/sovtimer/partials/footer/app-translation-footer.html +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/__init__.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/fixtures/allianceauth.json +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/fixtures/load_allianceauth.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/fixtures/load_sovtimer.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/fixtures/sovtimer.json +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/fixtures/utils.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/test_ajax_calls.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/test_app_settings.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/test_model_campaign.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/test_model_sovereignty_structures.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/test_tasks.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/tests/test_user_agent.py +0 -0
- {aa_sov_timer-3.0.0b3 → aa_sov_timer-3.2.0}/sovtimer/urls.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aa-sov-timer
|
|
3
|
-
Version: 3.0
|
|
3
|
+
Version: 3.2.0
|
|
4
4
|
Summary: Sov Campaign Timer for Alliance Auth
|
|
5
5
|
Project-URL: Changelog, https://github.com/ppfeufer/aa-sov-timer/blob/master/CHANGELOG.md
|
|
6
6
|
Project-URL: Codecov, https://codecov.io/gh/ppfeufer/aa-sov-timer
|
|
@@ -704,7 +704,7 @@ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
|
704
704
|
Requires-Python: <3.14,>=3.10
|
|
705
705
|
Requires-Dist: allianceauth-app-utils>=1.25
|
|
706
706
|
Requires-Dist: allianceauth<5,>=4.9
|
|
707
|
-
Requires-Dist: django-esi
|
|
707
|
+
Requires-Dist: django-esi<9,>=8
|
|
708
708
|
Requires-Dist: django-eveuniverse>=1.5.4
|
|
709
709
|
Provides-Extra: tests-allianceauth-latest
|
|
710
710
|
Requires-Dist: coverage; extra == 'tests-allianceauth-latest'
|
|
@@ -743,13 +743,14 @@ ______________________________________________________________________
|
|
|
743
743
|
- [Step 2: Update Your AA Settings](#step-2-update-your-aa-settings)
|
|
744
744
|
- [Step 3: Finalizing the Installation](#step-3-finalizing-the-installation)
|
|
745
745
|
- [Step 4: Preload Eve Universe Data](#step-4-preload-eve-universe-data)
|
|
746
|
-
- [Step 5:
|
|
747
|
-
- [Step 6: Keep Campaigns Updated](#step-6-keep-campaigns-updated)
|
|
746
|
+
- [Step 5: Restart Supervisor](#step-5-restart-supervisor)
|
|
748
747
|
- [Docker Installation](#docker-installation)
|
|
749
748
|
- [Step 1: Add the App](#step-1-add-the-app)
|
|
750
749
|
- [Step 2: Update Your AA Settings](#step-2-update-your-aa-settings-1)
|
|
751
750
|
- [Step 3: Build Auth and Restart Your Containers](#step-3-build-auth-and-restart-your-containers)
|
|
752
751
|
- [Step 4: Finalizing the Installation](#step-4-finalizing-the-installation)
|
|
752
|
+
- [Common Steps / Configuration](#common-steps--configuration)
|
|
753
|
+
- [(Optional) Allow Public Views](#optional-allow-public-views)
|
|
753
754
|
- [Updating](#updating)
|
|
754
755
|
- [Bare Metal Installation](#bare-metal-installation-1)
|
|
755
756
|
- [Docker Installation](#docker-installation-1)
|
|
@@ -788,17 +789,24 @@ Make sure you're in the virtual environment (venv) of your Alliance Auth install
|
|
|
788
789
|
Then install the latest version:
|
|
789
790
|
|
|
790
791
|
```shell
|
|
791
|
-
pip install aa-sov-timer==2.
|
|
792
|
+
pip install aa-sov-timer==3.2.0
|
|
792
793
|
```
|
|
793
794
|
|
|
794
795
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings"></a>
|
|
795
796
|
|
|
796
797
|
Configure your AA settings (`local.py`) as follows:
|
|
797
798
|
|
|
798
|
-
- Add `
|
|
799
|
-
- Add `
|
|
799
|
+
- Add `"eveuniverse",` to `INSTALLED_APPS` if not already done for another app
|
|
800
|
+
- Add `"sovtimer",` to `INSTALLED_APPS`
|
|
801
|
+
- Add the Scheduled Task
|
|
800
802
|
|
|
801
|
-
|
|
803
|
+
```python
|
|
804
|
+
# AA Sovereignty Timer - Run sovereignty related updates every 30 seconds
|
|
805
|
+
CELERYBEAT_SCHEDULE["sovtimer.tasks.run_sov_campaign_updates"] = {
|
|
806
|
+
"task": "sovtimer.tasks.run_sov_campaign_updates",
|
|
807
|
+
"schedule": 30,
|
|
808
|
+
}
|
|
809
|
+
```
|
|
802
810
|
|
|
803
811
|
#### Step 3: Finalizing the Installation<a name="step-3-finalizing-the-installation"></a>
|
|
804
812
|
|
|
@@ -822,25 +830,11 @@ python manage.py sovtimer_load_initial_data
|
|
|
822
830
|
|
|
823
831
|
Both commands might take a moment or two, so be patient ...
|
|
824
832
|
|
|
825
|
-
#### Step 5:
|
|
826
|
-
|
|
827
|
-
Now you can set up permissions in Alliance Auth for your users.
|
|
828
|
-
Add `sovtimer | Sovereignty Timer | Can access the Sovereignty Timer module` to
|
|
829
|
-
the states and/or groups you would like to have access.
|
|
830
|
-
|
|
831
|
-
#### Step 6: Keep Campaigns Updated<a name="step-6-keep-campaigns-updated"></a>
|
|
832
|
-
|
|
833
|
-
Add the following scheduled task to your `local.py`. One done, restart your supervisor.
|
|
833
|
+
#### Step 5: Restart Supervisor<a name="step-5-restart-supervisor"></a>
|
|
834
834
|
|
|
835
|
-
|
|
836
|
-
# AA Sovereignty Timer - Run sovereignty related updates every 30 seconds
|
|
837
|
-
CELERYBEAT_SCHEDULE["sovtimer.tasks.run_sov_campaign_updates"] = {
|
|
838
|
-
"task": "sovtimer.tasks.run_sov_campaign_updates",
|
|
839
|
-
"schedule": 30,
|
|
840
|
-
}
|
|
841
|
-
```
|
|
835
|
+
Once you have completed all previous steps, restart your AA supervisor service to apply the changes.
|
|
842
836
|
|
|
843
|
-
|
|
837
|
+
**Continue with the [Common Steps / Configuration](#common-steps--configuration) below to finish the installation.**
|
|
844
838
|
|
|
845
839
|
### Docker Installation<a name="docker-installation"></a>
|
|
846
840
|
|
|
@@ -849,15 +843,15 @@ Now your system is updating the sovereignty campaigns every 30 seconds.
|
|
|
849
843
|
Add the app to your `conf/requirements.txt`:
|
|
850
844
|
|
|
851
845
|
```text
|
|
852
|
-
aa-sov-timer==2.
|
|
846
|
+
aa-sov-timer==3.2.0
|
|
853
847
|
```
|
|
854
848
|
|
|
855
849
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings-1"></a>
|
|
856
850
|
|
|
857
851
|
Configure your AA settings (`conf/local.py`) as follows:
|
|
858
852
|
|
|
859
|
-
- Add `
|
|
860
|
-
- Add `
|
|
853
|
+
- Add `"eveuniverse",` to `INSTALLED_APPS` if not already done for another app
|
|
854
|
+
- Add `"sovtimer",` to `INSTALLED_APPS`
|
|
861
855
|
- Add the Scheduled Task
|
|
862
856
|
|
|
863
857
|
```python
|
|
@@ -889,6 +883,28 @@ auth eveuniverse_load_data map
|
|
|
889
883
|
auth sovtimer_load_initial_data
|
|
890
884
|
```
|
|
891
885
|
|
|
886
|
+
**Continue with the [Common Steps / Configuration](#common-steps--configuration) below to finish the installation.**
|
|
887
|
+
|
|
888
|
+
### Common Steps / Configuration<a name="common-steps--configuration"></a>
|
|
889
|
+
|
|
890
|
+
#### (Optional) Allow Public Views<a name="optional-allow-public-views"></a>
|
|
891
|
+
|
|
892
|
+
This app supports AA's feature of public views. \
|
|
893
|
+
To allow this feature, please add `"sovtimer",`, to the list of `APPS_WITH_PUBLIC_VIEWS` in your `local.py` or `conf/local.py` for Docker:
|
|
894
|
+
|
|
895
|
+
```python
|
|
896
|
+
APPS_WITH_PUBLIC_VIEWS = [
|
|
897
|
+
"sovtimer",
|
|
898
|
+
]
|
|
899
|
+
```
|
|
900
|
+
|
|
901
|
+
> [!NOTE]
|
|
902
|
+
>
|
|
903
|
+
> If you don't have a list for `APPS_WITH_PUBLIC_VIEWS` yet, then add the whole
|
|
904
|
+
> block from here.
|
|
905
|
+
|
|
906
|
+
Restart your supervisor service or your Docker containers to apply the changes.
|
|
907
|
+
|
|
892
908
|
## Updating<a name="updating"></a>
|
|
893
909
|
|
|
894
910
|
### Bare Metal Installation<a name="bare-metal-installation-1"></a>
|
|
@@ -900,7 +916,7 @@ Then run the following commands from your AA project directory (the one that
|
|
|
900
916
|
contains `manage.py`).
|
|
901
917
|
|
|
902
918
|
```shell
|
|
903
|
-
pip install aa-sov-timer==2.
|
|
919
|
+
pip install aa-sov-timer==3.2.0
|
|
904
920
|
|
|
905
921
|
python manage.py collectstatic
|
|
906
922
|
python manage.py migrate
|
|
@@ -913,7 +929,7 @@ Finally, restart your AA supervisor service.
|
|
|
913
929
|
To update your existing installation of AA Sovereignty Timer, all you need to do is to update the respective line in your `conf/requirements.txt` file to the latest version.
|
|
914
930
|
|
|
915
931
|
```text
|
|
916
|
-
aa-sov-timer==2.
|
|
932
|
+
aa-sov-timer==3.2.0
|
|
917
933
|
```
|
|
918
934
|
|
|
919
935
|
Now rebuild your containers and restart them:
|
|
@@ -29,13 +29,14 @@ ______________________________________________________________________
|
|
|
29
29
|
- [Step 2: Update Your AA Settings](#step-2-update-your-aa-settings)
|
|
30
30
|
- [Step 3: Finalizing the Installation](#step-3-finalizing-the-installation)
|
|
31
31
|
- [Step 4: Preload Eve Universe Data](#step-4-preload-eve-universe-data)
|
|
32
|
-
- [Step 5:
|
|
33
|
-
- [Step 6: Keep Campaigns Updated](#step-6-keep-campaigns-updated)
|
|
32
|
+
- [Step 5: Restart Supervisor](#step-5-restart-supervisor)
|
|
34
33
|
- [Docker Installation](#docker-installation)
|
|
35
34
|
- [Step 1: Add the App](#step-1-add-the-app)
|
|
36
35
|
- [Step 2: Update Your AA Settings](#step-2-update-your-aa-settings-1)
|
|
37
36
|
- [Step 3: Build Auth and Restart Your Containers](#step-3-build-auth-and-restart-your-containers)
|
|
38
37
|
- [Step 4: Finalizing the Installation](#step-4-finalizing-the-installation)
|
|
38
|
+
- [Common Steps / Configuration](#common-steps--configuration)
|
|
39
|
+
- [(Optional) Allow Public Views](#optional-allow-public-views)
|
|
39
40
|
- [Updating](#updating)
|
|
40
41
|
- [Bare Metal Installation](#bare-metal-installation-1)
|
|
41
42
|
- [Docker Installation](#docker-installation-1)
|
|
@@ -74,17 +75,24 @@ Make sure you're in the virtual environment (venv) of your Alliance Auth install
|
|
|
74
75
|
Then install the latest version:
|
|
75
76
|
|
|
76
77
|
```shell
|
|
77
|
-
pip install aa-sov-timer==2.
|
|
78
|
+
pip install aa-sov-timer==3.2.0
|
|
78
79
|
```
|
|
79
80
|
|
|
80
81
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings"></a>
|
|
81
82
|
|
|
82
83
|
Configure your AA settings (`local.py`) as follows:
|
|
83
84
|
|
|
84
|
-
- Add `
|
|
85
|
-
- Add `
|
|
85
|
+
- Add `"eveuniverse",` to `INSTALLED_APPS` if not already done for another app
|
|
86
|
+
- Add `"sovtimer",` to `INSTALLED_APPS`
|
|
87
|
+
- Add the Scheduled Task
|
|
86
88
|
|
|
87
|
-
|
|
89
|
+
```python
|
|
90
|
+
# AA Sovereignty Timer - Run sovereignty related updates every 30 seconds
|
|
91
|
+
CELERYBEAT_SCHEDULE["sovtimer.tasks.run_sov_campaign_updates"] = {
|
|
92
|
+
"task": "sovtimer.tasks.run_sov_campaign_updates",
|
|
93
|
+
"schedule": 30,
|
|
94
|
+
}
|
|
95
|
+
```
|
|
88
96
|
|
|
89
97
|
#### Step 3: Finalizing the Installation<a name="step-3-finalizing-the-installation"></a>
|
|
90
98
|
|
|
@@ -108,25 +116,11 @@ python manage.py sovtimer_load_initial_data
|
|
|
108
116
|
|
|
109
117
|
Both commands might take a moment or two, so be patient ...
|
|
110
118
|
|
|
111
|
-
#### Step 5:
|
|
112
|
-
|
|
113
|
-
Now you can set up permissions in Alliance Auth for your users.
|
|
114
|
-
Add `sovtimer | Sovereignty Timer | Can access the Sovereignty Timer module` to
|
|
115
|
-
the states and/or groups you would like to have access.
|
|
116
|
-
|
|
117
|
-
#### Step 6: Keep Campaigns Updated<a name="step-6-keep-campaigns-updated"></a>
|
|
118
|
-
|
|
119
|
-
Add the following scheduled task to your `local.py`. One done, restart your supervisor.
|
|
119
|
+
#### Step 5: Restart Supervisor<a name="step-5-restart-supervisor"></a>
|
|
120
120
|
|
|
121
|
-
|
|
122
|
-
# AA Sovereignty Timer - Run sovereignty related updates every 30 seconds
|
|
123
|
-
CELERYBEAT_SCHEDULE["sovtimer.tasks.run_sov_campaign_updates"] = {
|
|
124
|
-
"task": "sovtimer.tasks.run_sov_campaign_updates",
|
|
125
|
-
"schedule": 30,
|
|
126
|
-
}
|
|
127
|
-
```
|
|
121
|
+
Once you have completed all previous steps, restart your AA supervisor service to apply the changes.
|
|
128
122
|
|
|
129
|
-
|
|
123
|
+
**Continue with the [Common Steps / Configuration](#common-steps--configuration) below to finish the installation.**
|
|
130
124
|
|
|
131
125
|
### Docker Installation<a name="docker-installation"></a>
|
|
132
126
|
|
|
@@ -135,15 +129,15 @@ Now your system is updating the sovereignty campaigns every 30 seconds.
|
|
|
135
129
|
Add the app to your `conf/requirements.txt`:
|
|
136
130
|
|
|
137
131
|
```text
|
|
138
|
-
aa-sov-timer==2.
|
|
132
|
+
aa-sov-timer==3.2.0
|
|
139
133
|
```
|
|
140
134
|
|
|
141
135
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings-1"></a>
|
|
142
136
|
|
|
143
137
|
Configure your AA settings (`conf/local.py`) as follows:
|
|
144
138
|
|
|
145
|
-
- Add `
|
|
146
|
-
- Add `
|
|
139
|
+
- Add `"eveuniverse",` to `INSTALLED_APPS` if not already done for another app
|
|
140
|
+
- Add `"sovtimer",` to `INSTALLED_APPS`
|
|
147
141
|
- Add the Scheduled Task
|
|
148
142
|
|
|
149
143
|
```python
|
|
@@ -175,6 +169,28 @@ auth eveuniverse_load_data map
|
|
|
175
169
|
auth sovtimer_load_initial_data
|
|
176
170
|
```
|
|
177
171
|
|
|
172
|
+
**Continue with the [Common Steps / Configuration](#common-steps--configuration) below to finish the installation.**
|
|
173
|
+
|
|
174
|
+
### Common Steps / Configuration<a name="common-steps--configuration"></a>
|
|
175
|
+
|
|
176
|
+
#### (Optional) Allow Public Views<a name="optional-allow-public-views"></a>
|
|
177
|
+
|
|
178
|
+
This app supports AA's feature of public views. \
|
|
179
|
+
To allow this feature, please add `"sovtimer",`, to the list of `APPS_WITH_PUBLIC_VIEWS` in your `local.py` or `conf/local.py` for Docker:
|
|
180
|
+
|
|
181
|
+
```python
|
|
182
|
+
APPS_WITH_PUBLIC_VIEWS = [
|
|
183
|
+
"sovtimer",
|
|
184
|
+
]
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
> [!NOTE]
|
|
188
|
+
>
|
|
189
|
+
> If you don't have a list for `APPS_WITH_PUBLIC_VIEWS` yet, then add the whole
|
|
190
|
+
> block from here.
|
|
191
|
+
|
|
192
|
+
Restart your supervisor service or your Docker containers to apply the changes.
|
|
193
|
+
|
|
178
194
|
## Updating<a name="updating"></a>
|
|
179
195
|
|
|
180
196
|
### Bare Metal Installation<a name="bare-metal-installation-1"></a>
|
|
@@ -186,7 +202,7 @@ Then run the following commands from your AA project directory (the one that
|
|
|
186
202
|
contains `manage.py`).
|
|
187
203
|
|
|
188
204
|
```shell
|
|
189
|
-
pip install aa-sov-timer==2.
|
|
205
|
+
pip install aa-sov-timer==3.2.0
|
|
190
206
|
|
|
191
207
|
python manage.py collectstatic
|
|
192
208
|
python manage.py migrate
|
|
@@ -199,7 +215,7 @@ Finally, restart your AA supervisor service.
|
|
|
199
215
|
To update your existing installation of AA Sovereignty Timer, all you need to do is to update the respective line in your `conf/requirements.txt` file to the latest version.
|
|
200
216
|
|
|
201
217
|
```text
|
|
202
|
-
aa-sov-timer==2.
|
|
218
|
+
aa-sov-timer==3.2.0
|
|
203
219
|
```
|
|
204
220
|
|
|
205
221
|
Now rebuild your containers and restart them:
|
|
@@ -33,11 +33,7 @@ class AaSovtimerMenuItem(MenuItemHook): # pylint: disable=too-few-public-method
|
|
|
33
33
|
:return:
|
|
34
34
|
"""
|
|
35
35
|
|
|
36
|
-
return (
|
|
37
|
-
MenuItemHook.render(self, request=request)
|
|
38
|
-
if request.user.has_perm("sovtimer.basic_access")
|
|
39
|
-
else ""
|
|
40
|
-
)
|
|
36
|
+
return MenuItemHook.render(self, request=request)
|
|
41
37
|
|
|
42
38
|
|
|
43
39
|
@hooks.register("menu_item_hook")
|
|
@@ -59,4 +55,9 @@ def register_urls():
|
|
|
59
55
|
:return:
|
|
60
56
|
"""
|
|
61
57
|
|
|
62
|
-
return UrlHook(
|
|
58
|
+
return UrlHook(
|
|
59
|
+
urls=urls,
|
|
60
|
+
namespace="sovtimer",
|
|
61
|
+
base_url=r"^sovereignty-timer/",
|
|
62
|
+
excluded_views=["sovtimer.views.dashboard", "sovtimer.views.dashboard_data"],
|
|
63
|
+
)
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ESI Handler for AA Sovereignty Timer
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
# Standard Library
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
# Third Party
|
|
9
|
+
from aiopenapi3 import ContentTypeError
|
|
10
|
+
from httpx import Response
|
|
11
|
+
|
|
12
|
+
# Alliance Auth
|
|
13
|
+
from allianceauth.services.hooks import get_extension_logger
|
|
14
|
+
from esi.exceptions import HTTPClientError, HTTPNotModified
|
|
15
|
+
from esi.openapi_clients import EsiOperation
|
|
16
|
+
|
|
17
|
+
# Alliance Auth (External Libs)
|
|
18
|
+
from app_utils.logging import LoggerAddTag
|
|
19
|
+
|
|
20
|
+
# AA Sovereignty Timer
|
|
21
|
+
from sovtimer import __title__
|
|
22
|
+
|
|
23
|
+
# Initialize a logger with a custom tag for the AA SRP application
|
|
24
|
+
logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def result( # pylint: disable=too-many-arguments too-many-positional-arguments
|
|
28
|
+
operation: EsiOperation,
|
|
29
|
+
use_etag: bool = True,
|
|
30
|
+
return_response: bool = False,
|
|
31
|
+
force_refresh: bool = False,
|
|
32
|
+
use_cache: bool = True,
|
|
33
|
+
return_cached_for_304: bool = False,
|
|
34
|
+
**extra,
|
|
35
|
+
) -> tuple[Any, Response] | Any:
|
|
36
|
+
"""
|
|
37
|
+
Retrieve the result of an ESI operation, handling HTTPNotModified exceptions.
|
|
38
|
+
|
|
39
|
+
:param operation: The ESI operation to execute.
|
|
40
|
+
:type operation: EsiOperation
|
|
41
|
+
:param use_etag: Whether to use ETag for caching.
|
|
42
|
+
:type use_etag: bool
|
|
43
|
+
:param return_response: Whether to return the full response object.
|
|
44
|
+
:type return_response: bool
|
|
45
|
+
:param force_refresh: Whether to force a refresh of the data.
|
|
46
|
+
:type force_refresh: bool
|
|
47
|
+
:param use_cache: Whether to use cached data.
|
|
48
|
+
:type use_cache: bool
|
|
49
|
+
:param extra: Additional parameters to pass to the operation.
|
|
50
|
+
:param return_cached_for_304: Whether to return cached data on 304 Not Modified. If False, returns None for 304 responses.
|
|
51
|
+
:type return_cached_for_304: bool
|
|
52
|
+
:type extra: dict
|
|
53
|
+
:return: The result of the ESI operation, optionally with the response object.
|
|
54
|
+
:rtype: tuple[Any, Response] | Any
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
logger.debug(f"Handling ESI operation: {operation.operation.operationId}")
|
|
58
|
+
|
|
59
|
+
try:
|
|
60
|
+
esi_result = operation.result(
|
|
61
|
+
use_etag=use_etag,
|
|
62
|
+
return_response=return_response,
|
|
63
|
+
force_refresh=force_refresh,
|
|
64
|
+
use_cache=use_cache,
|
|
65
|
+
**extra,
|
|
66
|
+
)
|
|
67
|
+
except HTTPNotModified:
|
|
68
|
+
logger.debug(
|
|
69
|
+
f"ESI returned 304 Not Modified for operation: {operation.operation.operationId} "
|
|
70
|
+
f"- {'Using cached data.' if return_cached_for_304 else 'Skipping update.'}"
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
esi_result = operation.result(use_etag=False) if return_cached_for_304 else None
|
|
74
|
+
except ContentTypeError:
|
|
75
|
+
logger.warning(
|
|
76
|
+
msg="ESI returned gibberish (ContentTypeError) - Skipping update."
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
esi_result = None
|
|
80
|
+
except HTTPClientError as exc:
|
|
81
|
+
logger.error(msg=f"Error while fetching data from ESI: {str(exc)}")
|
|
82
|
+
|
|
83
|
+
esi_result = None
|
|
84
|
+
|
|
85
|
+
return esi_result
|
|
@@ -6,7 +6,7 @@ msgid ""
|
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
9
|
-
"POT-Creation-Date: 2025-11-
|
|
9
|
+
"POT-Creation-Date: 2025-11-16 00:19+0100\n"
|
|
10
10
|
"PO-Revision-Date: 2024-07-10 14:26+0000\n"
|
|
11
11
|
"Last-Translator: Dadas Aideron <dadas.aideron@gmail.com>\n"
|
|
12
12
|
"Language-Team: Czech <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/cs/>\n"
|
|
@@ -17,45 +17,45 @@ msgstr ""
|
|
|
17
17
|
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
|
18
18
|
"X-Generator: Weblate 5.6.2\n"
|
|
19
19
|
|
|
20
|
-
#: sovtimer/__init__.py:10 sovtimer/models.py:
|
|
20
|
+
#: sovtimer/__init__.py:10 sovtimer/models.py:34
|
|
21
21
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
22
22
|
#: sovtimer/templates/sovtimer/base.html:11
|
|
23
23
|
msgid "Sovereignty Timer"
|
|
24
24
|
msgstr ""
|
|
25
25
|
|
|
26
|
-
#: sovtimer/models.py:
|
|
26
|
+
#: sovtimer/models.py:37
|
|
27
27
|
msgid "Can access the Sovereignty Timer module"
|
|
28
28
|
msgstr ""
|
|
29
29
|
|
|
30
|
-
#: sovtimer/models.py:
|
|
30
|
+
#: sovtimer/models.py:74
|
|
31
31
|
msgid "Sovereignty structure"
|
|
32
32
|
msgstr ""
|
|
33
33
|
|
|
34
|
-
#: sovtimer/models.py:
|
|
34
|
+
#: sovtimer/models.py:75
|
|
35
35
|
msgid "Sovereignty structures"
|
|
36
36
|
msgstr ""
|
|
37
37
|
|
|
38
|
-
#: sovtimer/models.py:
|
|
38
|
+
#: sovtimer/models.py:117
|
|
39
39
|
msgid "Sov Hub defense"
|
|
40
40
|
msgstr ""
|
|
41
41
|
|
|
42
|
-
#: sovtimer/models.py:
|
|
42
|
+
#: sovtimer/models.py:118
|
|
43
43
|
msgid "TCU defense"
|
|
44
44
|
msgstr ""
|
|
45
45
|
|
|
46
|
-
#: sovtimer/models.py:
|
|
46
|
+
#: sovtimer/models.py:144
|
|
47
47
|
msgid "Sovereignty campaign"
|
|
48
48
|
msgstr ""
|
|
49
49
|
|
|
50
|
-
#: sovtimer/models.py:
|
|
50
|
+
#: sovtimer/models.py:145
|
|
51
51
|
msgid "Sovereignty campaigns"
|
|
52
52
|
msgstr ""
|
|
53
53
|
|
|
54
|
-
#: sovtimer/templates/sovtimer/dashboard.html:15 sovtimer/views.py:
|
|
54
|
+
#: sovtimer/templates/sovtimer/dashboard.html:15 sovtimer/views.py:167
|
|
55
55
|
msgid "Yes"
|
|
56
56
|
msgstr ""
|
|
57
57
|
|
|
58
|
-
#: sovtimer/templates/sovtimer/dashboard.html:16 sovtimer/views.py:
|
|
58
|
+
#: sovtimer/templates/sovtimer/dashboard.html:16 sovtimer/views.py:160
|
|
59
59
|
msgid "No"
|
|
60
60
|
msgstr ""
|
|
61
61
|
|
|
@@ -127,14 +127,14 @@ msgstr "Chceš pomoc s překladem této aplikace do tvého jazyka, nebo vylepši
|
|
|
127
127
|
msgid "Join our team of translators!"
|
|
128
128
|
msgstr "Připoj se k našemu týmu překladatelů!"
|
|
129
129
|
|
|
130
|
-
#: sovtimer/views.py:
|
|
130
|
+
#: sovtimer/views.py:170
|
|
131
131
|
msgid "Neither side has made any progress yet"
|
|
132
132
|
msgstr ""
|
|
133
133
|
|
|
134
|
-
#: sovtimer/views.py:
|
|
134
|
+
#: sovtimer/views.py:178
|
|
135
135
|
msgid "Defenders making progress"
|
|
136
136
|
msgstr ""
|
|
137
137
|
|
|
138
|
-
#: sovtimer/views.py:
|
|
138
|
+
#: sovtimer/views.py:186
|
|
139
139
|
msgid "Attackers making progress"
|
|
140
140
|
msgstr ""
|
|
@@ -6,7 +6,7 @@ msgid ""
|
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
9
|
-
"POT-Creation-Date: 2025-11-
|
|
9
|
+
"POT-Creation-Date: 2025-11-16 00:19+0100\n"
|
|
10
10
|
"PO-Revision-Date: 2025-11-10 21:06+0000\n"
|
|
11
11
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
12
12
|
"Language-Team: German <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/de/>\n"
|
|
@@ -17,45 +17,45 @@ msgstr ""
|
|
|
17
17
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
18
18
|
"X-Generator: Weblate 5.14.3\n"
|
|
19
19
|
|
|
20
|
-
#: sovtimer/__init__.py:10 sovtimer/models.py:
|
|
20
|
+
#: sovtimer/__init__.py:10 sovtimer/models.py:34
|
|
21
21
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
22
22
|
#: sovtimer/templates/sovtimer/base.html:11
|
|
23
23
|
msgid "Sovereignty Timer"
|
|
24
24
|
msgstr "Souveränitäts-Timer"
|
|
25
25
|
|
|
26
|
-
#: sovtimer/models.py:
|
|
26
|
+
#: sovtimer/models.py:37
|
|
27
27
|
msgid "Can access the Sovereignty Timer module"
|
|
28
28
|
msgstr "Kann das Souveränitäts-Timer Modul nutzen"
|
|
29
29
|
|
|
30
|
-
#: sovtimer/models.py:
|
|
30
|
+
#: sovtimer/models.py:74
|
|
31
31
|
msgid "Sovereignty structure"
|
|
32
32
|
msgstr "Souveränitäts-Struktur"
|
|
33
33
|
|
|
34
|
-
#: sovtimer/models.py:
|
|
34
|
+
#: sovtimer/models.py:75
|
|
35
35
|
msgid "Sovereignty structures"
|
|
36
36
|
msgstr "Souveränitäts-Strukturen"
|
|
37
37
|
|
|
38
|
-
#: sovtimer/models.py:
|
|
38
|
+
#: sovtimer/models.py:117
|
|
39
39
|
msgid "Sov Hub defense"
|
|
40
40
|
msgstr "Sov Hub Verteidigung"
|
|
41
41
|
|
|
42
|
-
#: sovtimer/models.py:
|
|
42
|
+
#: sovtimer/models.py:118
|
|
43
43
|
msgid "TCU defense"
|
|
44
44
|
msgstr "TCU Verteidigung"
|
|
45
45
|
|
|
46
|
-
#: sovtimer/models.py:
|
|
46
|
+
#: sovtimer/models.py:144
|
|
47
47
|
msgid "Sovereignty campaign"
|
|
48
48
|
msgstr "Souveränitäts-Kampagne"
|
|
49
49
|
|
|
50
|
-
#: sovtimer/models.py:
|
|
50
|
+
#: sovtimer/models.py:145
|
|
51
51
|
msgid "Sovereignty campaigns"
|
|
52
52
|
msgstr "Souveränitäts-Kampagnen"
|
|
53
53
|
|
|
54
|
-
#: sovtimer/templates/sovtimer/dashboard.html:15 sovtimer/views.py:
|
|
54
|
+
#: sovtimer/templates/sovtimer/dashboard.html:15 sovtimer/views.py:167
|
|
55
55
|
msgid "Yes"
|
|
56
56
|
msgstr "Ja"
|
|
57
57
|
|
|
58
|
-
#: sovtimer/templates/sovtimer/dashboard.html:16 sovtimer/views.py:
|
|
58
|
+
#: sovtimer/templates/sovtimer/dashboard.html:16 sovtimer/views.py:160
|
|
59
59
|
msgid "No"
|
|
60
60
|
msgstr "Nein"
|
|
61
61
|
|
|
@@ -127,15 +127,15 @@ msgstr "Du möchtest helfen diese App in Deine Sprache zu übersetzen oder die b
|
|
|
127
127
|
msgid "Join our team of translators!"
|
|
128
128
|
msgstr "Tritt unserm Team von Übersetzern bei!"
|
|
129
129
|
|
|
130
|
-
#: sovtimer/views.py:
|
|
130
|
+
#: sovtimer/views.py:170
|
|
131
131
|
msgid "Neither side has made any progress yet"
|
|
132
132
|
msgstr "Keine Seite hat bisher Fortschritte gemacht"
|
|
133
133
|
|
|
134
|
-
#: sovtimer/views.py:
|
|
134
|
+
#: sovtimer/views.py:178
|
|
135
135
|
msgid "Defenders making progress"
|
|
136
136
|
msgstr "Verteidiger machen Fortschritte"
|
|
137
137
|
|
|
138
|
-
#: sovtimer/views.py:
|
|
138
|
+
#: sovtimer/views.py:186
|
|
139
139
|
msgid "Attackers making progress"
|
|
140
140
|
msgstr "Angreifer machen Fortschritte"
|
|
141
141
|
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
#, fuzzy
|
|
7
7
|
msgid ""
|
|
8
8
|
msgstr ""
|
|
9
|
-
"Project-Id-Version: AA Sov Timer 3.0
|
|
9
|
+
"Project-Id-Version: AA Sov Timer 3.2.0\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
11
|
-
"POT-Creation-Date: 2025-11-
|
|
11
|
+
"POT-Creation-Date: 2025-11-16 00:19+0100\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -17,45 +17,45 @@ msgstr ""
|
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
|
|
20
|
-
#: sovtimer/__init__.py:10 sovtimer/models.py:
|
|
20
|
+
#: sovtimer/__init__.py:10 sovtimer/models.py:34
|
|
21
21
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
22
22
|
#: sovtimer/templates/sovtimer/base.html:11
|
|
23
23
|
msgid "Sovereignty Timer"
|
|
24
24
|
msgstr ""
|
|
25
25
|
|
|
26
|
-
#: sovtimer/models.py:
|
|
26
|
+
#: sovtimer/models.py:37
|
|
27
27
|
msgid "Can access the Sovereignty Timer module"
|
|
28
28
|
msgstr ""
|
|
29
29
|
|
|
30
|
-
#: sovtimer/models.py:
|
|
30
|
+
#: sovtimer/models.py:74
|
|
31
31
|
msgid "Sovereignty structure"
|
|
32
32
|
msgstr ""
|
|
33
33
|
|
|
34
|
-
#: sovtimer/models.py:
|
|
34
|
+
#: sovtimer/models.py:75
|
|
35
35
|
msgid "Sovereignty structures"
|
|
36
36
|
msgstr ""
|
|
37
37
|
|
|
38
|
-
#: sovtimer/models.py:
|
|
38
|
+
#: sovtimer/models.py:117
|
|
39
39
|
msgid "Sov Hub defense"
|
|
40
40
|
msgstr ""
|
|
41
41
|
|
|
42
|
-
#: sovtimer/models.py:
|
|
42
|
+
#: sovtimer/models.py:118
|
|
43
43
|
msgid "TCU defense"
|
|
44
44
|
msgstr ""
|
|
45
45
|
|
|
46
|
-
#: sovtimer/models.py:
|
|
46
|
+
#: sovtimer/models.py:144
|
|
47
47
|
msgid "Sovereignty campaign"
|
|
48
48
|
msgstr ""
|
|
49
49
|
|
|
50
|
-
#: sovtimer/models.py:
|
|
50
|
+
#: sovtimer/models.py:145
|
|
51
51
|
msgid "Sovereignty campaigns"
|
|
52
52
|
msgstr ""
|
|
53
53
|
|
|
54
|
-
#: sovtimer/templates/sovtimer/dashboard.html:15 sovtimer/views.py:
|
|
54
|
+
#: sovtimer/templates/sovtimer/dashboard.html:15 sovtimer/views.py:167
|
|
55
55
|
msgid "Yes"
|
|
56
56
|
msgstr ""
|
|
57
57
|
|
|
58
|
-
#: sovtimer/templates/sovtimer/dashboard.html:16 sovtimer/views.py:
|
|
58
|
+
#: sovtimer/templates/sovtimer/dashboard.html:16 sovtimer/views.py:160
|
|
59
59
|
msgid "No"
|
|
60
60
|
msgstr ""
|
|
61
61
|
|
|
@@ -131,14 +131,14 @@ msgstr ""
|
|
|
131
131
|
msgid "Join our team of translators!"
|
|
132
132
|
msgstr ""
|
|
133
133
|
|
|
134
|
-
#: sovtimer/views.py:
|
|
134
|
+
#: sovtimer/views.py:170
|
|
135
135
|
msgid "Neither side has made any progress yet"
|
|
136
136
|
msgstr ""
|
|
137
137
|
|
|
138
|
-
#: sovtimer/views.py:
|
|
138
|
+
#: sovtimer/views.py:178
|
|
139
139
|
msgid "Defenders making progress"
|
|
140
140
|
msgstr ""
|
|
141
141
|
|
|
142
|
-
#: sovtimer/views.py:
|
|
142
|
+
#: sovtimer/views.py:186
|
|
143
143
|
msgid "Attackers making progress"
|
|
144
144
|
msgstr ""
|