aa-sov-timer 4.0.0__tar.gz → 4.0.2__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-4.0.0 → aa_sov_timer-4.0.2}/PKG-INFO +21 -14
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/README.md +16 -9
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/pyproject.toml +8 -11
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/__init__.py +1 -1
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/cs_CZ/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/de/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/django.pot +2 -2
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/es/LC_MESSAGES/django.po +1 -1
- aa_sov_timer-4.0.2/sovtimer/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/fr_FR/LC_MESSAGES/django.po +4 -4
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/it_IT/LC_MESSAGES/django.po +6 -5
- aa_sov_timer-4.0.2/sovtimer/locale/ja/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/ja/LC_MESSAGES/django.po +4 -4
- aa_sov_timer-4.0.2/sovtimer/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/ko_KR/LC_MESSAGES/django.po +6 -6
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/nl_NL/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/pl_PL/LC_MESSAGES/django.po +1 -1
- aa_sov_timer-4.0.2/sovtimer/locale/ru/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/ru/LC_MESSAGES/django.po +4 -4
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/sk/LC_MESSAGES/django.po +1 -1
- aa_sov_timer-4.0.2/sovtimer/locale/uk/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/uk/LC_MESSAGES/django.po +8 -8
- aa_sov_timer-4.0.2/sovtimer/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/providers.py +17 -8
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/test_providers.py +64 -1
- aa_sov_timer-4.0.0/sovtimer/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-4.0.0/sovtimer/locale/ja/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-4.0.0/sovtimer/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-4.0.0/sovtimer/locale/ru/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-4.0.0/sovtimer/locale/uk/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-4.0.0/sovtimer/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/.gitignore +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/LICENSE +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/app_settings.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/apps.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/auth_hooks.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/constants.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/.gitkeep +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/de/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/es/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/locale/sk/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/management/commands/__init__.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/management/commands/sovtimer_load_initial_data.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0001_initial.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0001_initialize.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0002_aasovtimercampaigns_aasovtimerstructures.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0003_auto_20201113_1033.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0004_auto_20201113_1856.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0005_auto_20201114_0720.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0006_rename_models.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0007_cleanup_models.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0008_fix_campaign_attackers_score.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0009_alter_campaign_options_and_more.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0010_alter_campaign_event_type.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0011_alliance_alter_campaign_event_type_and_more.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/__init__.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/models.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/css/aa-sov-timer.css +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/css/aa-sov-timer.min.css +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/css/aa-sov-timer.min.css.map +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/font/materialicons/v143/MaterialIcons-Regular.woff2 +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/font/materialicons/v143/README.md +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/images/zkillboard.png +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/js/aa-sov-timer.js +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/js/aa-sov-timer.min.js +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/js/aa-sov-timer.min.js.map +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tasks.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/base.html +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/bundles/aa-sov-timer-css.html +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/bundles/aa-sov-timer-js.html +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/dashboard.html +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/partials/common/spinner.html +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/partials/dashboard/table.html +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/partials/footer/app-translation-footer.html +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/__init__.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/test_app_settings.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/test_auth_hooks.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/test_models.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/test_tasks.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/test_user_agent.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/tests/test_views.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/urls.py +0 -0
- {aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aa-sov-timer
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.2
|
|
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
|
|
@@ -690,6 +690,7 @@ Keywords: allianceauth,eveonline,sovereignty_timer,timerboard
|
|
|
690
690
|
Classifier: Environment :: Web Environment
|
|
691
691
|
Classifier: Framework :: Django
|
|
692
692
|
Classifier: Framework :: Django :: 4.2
|
|
693
|
+
Classifier: Framework :: Django :: 5.2
|
|
693
694
|
Classifier: Intended Audience :: Developers
|
|
694
695
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
695
696
|
Classifier: Operating System :: OS Independent
|
|
@@ -702,10 +703,9 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
702
703
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
703
704
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
704
705
|
Requires-Python: <3.14,>=3.10
|
|
705
|
-
Requires-Dist: allianceauth
|
|
706
|
-
Requires-Dist: django-esi
|
|
707
|
-
Requires-Dist: django-eveonline-sde>=0.0.
|
|
708
|
-
Requires-Dist: django-eveuniverse>=1.5.4
|
|
706
|
+
Requires-Dist: allianceauth>=4.12
|
|
707
|
+
Requires-Dist: django-esi>=8.3.1
|
|
708
|
+
Requires-Dist: django-eveonline-sde>=0.0.1b9
|
|
709
709
|
Provides-Extra: tests-allianceauth-latest
|
|
710
710
|
Requires-Dist: coverage; extra == 'tests-allianceauth-latest'
|
|
711
711
|
Requires-Dist: django-webtest; extra == 'tests-allianceauth-latest'
|
|
@@ -726,6 +726,7 @@ Description-Content-Type: text/markdown
|
|
|
726
726
|
[](https://weblate.ppfeufer.de/engage/alliance-auth-apps/)
|
|
727
727
|
[](https://github.com/ppfeufer/aa-sov-timer/blob/master/CODE_OF_CONDUCT.md)
|
|
728
728
|
[](https://discord.gg/fjnHAmk)
|
|
729
|
+
[](https://gitlab.com/allianceauth/allianceauth)
|
|
729
730
|
|
|
730
731
|
[](https://ko-fi.com/N4N8CL1BY)
|
|
731
732
|
|
|
@@ -803,7 +804,7 @@ Make sure you're in the virtual environment (venv) of your Alliance Auth install
|
|
|
803
804
|
Then install the latest version:
|
|
804
805
|
|
|
805
806
|
```shell
|
|
806
|
-
pip install aa-sov-timer==4.0.
|
|
807
|
+
pip install aa-sov-timer==4.0.2
|
|
807
808
|
```
|
|
808
809
|
|
|
809
810
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings"></a>
|
|
@@ -813,10 +814,9 @@ Configure your AA settings (`local.py`) as follows:
|
|
|
813
814
|
- Modify `INSTALLED_APPS` to include the following entries:
|
|
814
815
|
|
|
815
816
|
```python
|
|
816
|
-
INSTALLED_APPS
|
|
817
|
+
INSTALLED_APPS += [
|
|
817
818
|
# ...
|
|
818
819
|
"eve_sde", # Only if not already added for another app
|
|
819
|
-
"eveuniverse", # This is still needed, but we are migrating away from it. It's a multi-step process, so we need to keep it for now.
|
|
820
820
|
"sovtimer",
|
|
821
821
|
# ...
|
|
822
822
|
]
|
|
@@ -836,11 +836,15 @@ Configure your AA settings (`local.py`) as follows:
|
|
|
836
836
|
}
|
|
837
837
|
|
|
838
838
|
if "eve_sde" in INSTALLED_APPS:
|
|
839
|
-
# Run at 12:00
|
|
839
|
+
# Run at 12:00 each day
|
|
840
840
|
CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
|
|
841
841
|
"task": "eve_sde.tasks.check_for_sde_updates",
|
|
842
842
|
"schedule": crontab(minute="0", hour="12"),
|
|
843
843
|
}
|
|
844
|
+
|
|
845
|
+
# Set the following when you have a bare metal installation, or Docker with a
|
|
846
|
+
# non-standard storage for `myauth`
|
|
847
|
+
ESDE_TASK_SPLIT = True
|
|
844
848
|
```
|
|
845
849
|
|
|
846
850
|
#### Step 3: Finalizing the Installation<a name="step-3-finalizing-the-installation"></a>
|
|
@@ -878,7 +882,7 @@ Once you have completed all previous steps, restart your AA supervisor service t
|
|
|
878
882
|
Add the app to your `conf/requirements.txt`:
|
|
879
883
|
|
|
880
884
|
```text
|
|
881
|
-
aa-sov-timer==4.0.
|
|
885
|
+
aa-sov-timer==4.0.2
|
|
882
886
|
```
|
|
883
887
|
|
|
884
888
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings-1"></a>
|
|
@@ -891,7 +895,6 @@ Configure your AA settings (`conf/local.py`) as follows:
|
|
|
891
895
|
INSTALLED_APPS = [
|
|
892
896
|
# ...
|
|
893
897
|
"eve_sde", # Only if not already added for another app
|
|
894
|
-
"eveuniverse", # This is still needed, but we are migrating away from it. It's a multi-step process, so we need to keep it for now.
|
|
895
898
|
"sovtimer",
|
|
896
899
|
# ...
|
|
897
900
|
]
|
|
@@ -911,11 +914,15 @@ Configure your AA settings (`conf/local.py`) as follows:
|
|
|
911
914
|
}
|
|
912
915
|
|
|
913
916
|
if "eve_sde" in INSTALLED_APPS:
|
|
914
|
-
# Run at 12:00
|
|
917
|
+
# Run at 12:00 each day
|
|
915
918
|
CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
|
|
916
919
|
"task": "eve_sde.tasks.check_for_sde_updates",
|
|
917
920
|
"schedule": crontab(minute="0", hour="12"),
|
|
918
921
|
}
|
|
922
|
+
|
|
923
|
+
# Set the following when you have a bare metal installation, or Docker with a
|
|
924
|
+
# non-standard storage for `myauth`
|
|
925
|
+
ESDE_TASK_SPLIT = True
|
|
919
926
|
```
|
|
920
927
|
|
|
921
928
|
#### Step 3: Build Auth and Restart Your Containers<a name="step-3-build-auth-and-restart-your-containers"></a>
|
|
@@ -972,7 +979,7 @@ Then run the following commands from your AA project directory (the one that
|
|
|
972
979
|
contains `manage.py`).
|
|
973
980
|
|
|
974
981
|
```shell
|
|
975
|
-
pip install aa-sov-timer==4.0.
|
|
982
|
+
pip install aa-sov-timer==4.0.2
|
|
976
983
|
|
|
977
984
|
python manage.py collectstatic
|
|
978
985
|
python manage.py migrate
|
|
@@ -985,7 +992,7 @@ Finally, restart your AA supervisor service.
|
|
|
985
992
|
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.
|
|
986
993
|
|
|
987
994
|
```text
|
|
988
|
-
aa-sov-timer==4.0.
|
|
995
|
+
aa-sov-timer==4.0.2
|
|
989
996
|
```
|
|
990
997
|
|
|
991
998
|
Now rebuild your containers and restart them:
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
[](https://weblate.ppfeufer.de/engage/alliance-auth-apps/)
|
|
13
13
|
[](https://github.com/ppfeufer/aa-sov-timer/blob/master/CODE_OF_CONDUCT.md)
|
|
14
14
|
[](https://discord.gg/fjnHAmk)
|
|
15
|
+
[](https://gitlab.com/allianceauth/allianceauth)
|
|
15
16
|
|
|
16
17
|
[](https://ko-fi.com/N4N8CL1BY)
|
|
17
18
|
|
|
@@ -89,7 +90,7 @@ Make sure you're in the virtual environment (venv) of your Alliance Auth install
|
|
|
89
90
|
Then install the latest version:
|
|
90
91
|
|
|
91
92
|
```shell
|
|
92
|
-
pip install aa-sov-timer==4.0.
|
|
93
|
+
pip install aa-sov-timer==4.0.2
|
|
93
94
|
```
|
|
94
95
|
|
|
95
96
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings"></a>
|
|
@@ -99,10 +100,9 @@ Configure your AA settings (`local.py`) as follows:
|
|
|
99
100
|
- Modify `INSTALLED_APPS` to include the following entries:
|
|
100
101
|
|
|
101
102
|
```python
|
|
102
|
-
INSTALLED_APPS
|
|
103
|
+
INSTALLED_APPS += [
|
|
103
104
|
# ...
|
|
104
105
|
"eve_sde", # Only if not already added for another app
|
|
105
|
-
"eveuniverse", # This is still needed, but we are migrating away from it. It's a multi-step process, so we need to keep it for now.
|
|
106
106
|
"sovtimer",
|
|
107
107
|
# ...
|
|
108
108
|
]
|
|
@@ -122,11 +122,15 @@ Configure your AA settings (`local.py`) as follows:
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
if "eve_sde" in INSTALLED_APPS:
|
|
125
|
-
# Run at 12:00
|
|
125
|
+
# Run at 12:00 each day
|
|
126
126
|
CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
|
|
127
127
|
"task": "eve_sde.tasks.check_for_sde_updates",
|
|
128
128
|
"schedule": crontab(minute="0", hour="12"),
|
|
129
129
|
}
|
|
130
|
+
|
|
131
|
+
# Set the following when you have a bare metal installation, or Docker with a
|
|
132
|
+
# non-standard storage for `myauth`
|
|
133
|
+
ESDE_TASK_SPLIT = True
|
|
130
134
|
```
|
|
131
135
|
|
|
132
136
|
#### Step 3: Finalizing the Installation<a name="step-3-finalizing-the-installation"></a>
|
|
@@ -164,7 +168,7 @@ Once you have completed all previous steps, restart your AA supervisor service t
|
|
|
164
168
|
Add the app to your `conf/requirements.txt`:
|
|
165
169
|
|
|
166
170
|
```text
|
|
167
|
-
aa-sov-timer==4.0.
|
|
171
|
+
aa-sov-timer==4.0.2
|
|
168
172
|
```
|
|
169
173
|
|
|
170
174
|
#### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings-1"></a>
|
|
@@ -177,7 +181,6 @@ Configure your AA settings (`conf/local.py`) as follows:
|
|
|
177
181
|
INSTALLED_APPS = [
|
|
178
182
|
# ...
|
|
179
183
|
"eve_sde", # Only if not already added for another app
|
|
180
|
-
"eveuniverse", # This is still needed, but we are migrating away from it. It's a multi-step process, so we need to keep it for now.
|
|
181
184
|
"sovtimer",
|
|
182
185
|
# ...
|
|
183
186
|
]
|
|
@@ -197,11 +200,15 @@ Configure your AA settings (`conf/local.py`) as follows:
|
|
|
197
200
|
}
|
|
198
201
|
|
|
199
202
|
if "eve_sde" in INSTALLED_APPS:
|
|
200
|
-
# Run at 12:00
|
|
203
|
+
# Run at 12:00 each day
|
|
201
204
|
CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
|
|
202
205
|
"task": "eve_sde.tasks.check_for_sde_updates",
|
|
203
206
|
"schedule": crontab(minute="0", hour="12"),
|
|
204
207
|
}
|
|
208
|
+
|
|
209
|
+
# Set the following when you have a bare metal installation, or Docker with a
|
|
210
|
+
# non-standard storage for `myauth`
|
|
211
|
+
ESDE_TASK_SPLIT = True
|
|
205
212
|
```
|
|
206
213
|
|
|
207
214
|
#### Step 3: Build Auth and Restart Your Containers<a name="step-3-build-auth-and-restart-your-containers"></a>
|
|
@@ -258,7 +265,7 @@ Then run the following commands from your AA project directory (the one that
|
|
|
258
265
|
contains `manage.py`).
|
|
259
266
|
|
|
260
267
|
```shell
|
|
261
|
-
pip install aa-sov-timer==4.0.
|
|
268
|
+
pip install aa-sov-timer==4.0.2
|
|
262
269
|
|
|
263
270
|
python manage.py collectstatic
|
|
264
271
|
python manage.py migrate
|
|
@@ -271,7 +278,7 @@ Finally, restart your AA supervisor service.
|
|
|
271
278
|
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.
|
|
272
279
|
|
|
273
280
|
```text
|
|
274
|
-
aa-sov-timer==4.0.
|
|
281
|
+
aa-sov-timer==4.0.2
|
|
275
282
|
```
|
|
276
283
|
|
|
277
284
|
Now rebuild your containers and restart them:
|
|
@@ -23,6 +23,7 @@ classifiers = [
|
|
|
23
23
|
"Environment :: Web Environment",
|
|
24
24
|
"Framework :: Django",
|
|
25
25
|
"Framework :: Django :: 4.2",
|
|
26
|
+
"Framework :: Django :: 5.2",
|
|
26
27
|
"Intended Audience :: Developers",
|
|
27
28
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
28
29
|
"Operating System :: OS Independent",
|
|
@@ -39,10 +40,9 @@ dynamic = [
|
|
|
39
40
|
"version",
|
|
40
41
|
]
|
|
41
42
|
dependencies = [
|
|
42
|
-
"allianceauth>=4.12
|
|
43
|
-
"django-esi>=8
|
|
44
|
-
"django-eveonline-sde>=0.0.
|
|
45
|
-
"django-eveuniverse>=1.5.4",
|
|
43
|
+
"allianceauth>=4.12",
|
|
44
|
+
"django-esi>=8.3.1",
|
|
45
|
+
"django-eveonline-sde>=0.0.1b9",
|
|
46
46
|
]
|
|
47
47
|
optional-dependencies.tests-allianceauth-latest = [
|
|
48
48
|
"coverage",
|
|
@@ -58,12 +58,9 @@ urls.GitHub = "https://github.com/ppfeufer/aa-sov-timer"
|
|
|
58
58
|
urls.Tracker = "https://github.com/ppfeufer/aa-sov-timer/issues"
|
|
59
59
|
urls.Translation = "https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/"
|
|
60
60
|
|
|
61
|
-
[tool.hatch
|
|
62
|
-
include = [
|
|
61
|
+
[tool.hatch]
|
|
62
|
+
build.include = [
|
|
63
63
|
"/sovtimer",
|
|
64
64
|
]
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
allow-direct-references = true
|
|
68
|
-
[tool.hatch.version]
|
|
69
|
-
path = "sovtimer/__init__.py"
|
|
65
|
+
metadata.allow-direct-references = true
|
|
66
|
+
version.path = "sovtimer/__init__.py"
|
|
@@ -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: 2026-
|
|
9
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\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"
|
|
@@ -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: 2026-
|
|
9
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
10
10
|
"PO-Revision-Date: 2026-02-27 10:17+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"
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
#, fuzzy
|
|
7
7
|
msgid ""
|
|
8
8
|
msgstr ""
|
|
9
|
-
"Project-Id-Version: AA Sov Timer 4.0.
|
|
9
|
+
"Project-Id-Version: AA Sov Timer 4.0.2\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
11
|
-
"POT-Creation-Date: 2026-
|
|
11
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\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"
|
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
9
9
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
10
|
-
"POT-Creation-Date: 2026-
|
|
10
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2025-07-29 20:18+0000\n"
|
|
12
12
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
13
13
|
"Language-Team: Spanish <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/es/>\n"
|
|
Binary file
|
|
@@ -13,8 +13,8 @@ msgid ""
|
|
|
13
13
|
msgstr ""
|
|
14
14
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
15
15
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
16
|
-
"POT-Creation-Date: 2026-
|
|
17
|
-
"PO-Revision-Date: 2026-
|
|
16
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
17
|
+
"PO-Revision-Date: 2026-03-22 19:23+0000\n"
|
|
18
18
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
19
19
|
"Language-Team: French <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/fr/>\n"
|
|
20
20
|
"Language: fr_FR\n"
|
|
@@ -22,7 +22,7 @@ msgstr ""
|
|
|
22
22
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
23
23
|
"Content-Transfer-Encoding: 8bit\n"
|
|
24
24
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
|
25
|
-
"X-Generator: Weblate 5.
|
|
25
|
+
"X-Generator: Weblate 5.16.2\n"
|
|
26
26
|
|
|
27
27
|
#: sovtimer/__init__.py:10 sovtimer/models.py:35
|
|
28
28
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
@@ -36,7 +36,7 @@ msgstr "Peut accéder le module Minuterie de souveraineté"
|
|
|
36
36
|
|
|
37
37
|
#: sovtimer/models.py:56
|
|
38
38
|
msgid "Alliance"
|
|
39
|
-
msgstr ""
|
|
39
|
+
msgstr "Alliance"
|
|
40
40
|
|
|
41
41
|
#: sovtimer/models.py:57
|
|
42
42
|
msgid "Alliances"
|
|
Binary file
|
|
@@ -2,26 +2,27 @@
|
|
|
2
2
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
3
|
# This file is distributed under the same license as the PACKAGE package.
|
|
4
4
|
# Peter Pfeufer <info@ppfeufer.de>, 2024.
|
|
5
|
+
# Vlad Cocan <cfvlad@gmail.com>, 2026.
|
|
5
6
|
msgid ""
|
|
6
7
|
msgstr ""
|
|
7
8
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
8
9
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
9
|
-
"POT-Creation-Date: 2026-
|
|
10
|
-
"PO-Revision-Date:
|
|
11
|
-
"Last-Translator:
|
|
10
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
11
|
+
"PO-Revision-Date: 2026-04-07 17:48+0000\n"
|
|
12
|
+
"Last-Translator: Vlad Cocan <cfvlad@gmail.com>\n"
|
|
12
13
|
"Language-Team: Italian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/it/>\n"
|
|
13
14
|
"Language: it_IT\n"
|
|
14
15
|
"MIME-Version: 1.0\n"
|
|
15
16
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
16
17
|
"Content-Transfer-Encoding: 8bit\n"
|
|
17
18
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
18
|
-
"X-Generator: Weblate 5.
|
|
19
|
+
"X-Generator: Weblate 5.16.2\n"
|
|
19
20
|
|
|
20
21
|
#: sovtimer/__init__.py:10 sovtimer/models.py:35
|
|
21
22
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
22
23
|
#: sovtimer/templates/sovtimer/base.html:11
|
|
23
24
|
msgid "Sovereignty Timer"
|
|
24
|
-
msgstr ""
|
|
25
|
+
msgstr "Timer Sovranità"
|
|
25
26
|
|
|
26
27
|
#: sovtimer/models.py:38
|
|
27
28
|
msgid "Can access the Sovereignty Timer module"
|
|
Binary file
|
|
@@ -8,8 +8,8 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
11
|
-
"POT-Creation-Date: 2026-
|
|
12
|
-
"PO-Revision-Date: 2026-
|
|
11
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
12
|
+
"PO-Revision-Date: 2026-03-22 19:23+0000\n"
|
|
13
13
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
14
14
|
"Language-Team: Japanese <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/ja/>\n"
|
|
15
15
|
"Language: ja\n"
|
|
@@ -17,7 +17,7 @@ msgstr ""
|
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
20
|
-
"X-Generator: Weblate 5.
|
|
20
|
+
"X-Generator: Weblate 5.16.2\n"
|
|
21
21
|
|
|
22
22
|
#: sovtimer/__init__.py:10 sovtimer/models.py:35
|
|
23
23
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
@@ -31,7 +31,7 @@ msgstr "領有権タイマーのモジュールにアクセス可能です"
|
|
|
31
31
|
|
|
32
32
|
#: sovtimer/models.py:56
|
|
33
33
|
msgid "Alliance"
|
|
34
|
-
msgstr ""
|
|
34
|
+
msgstr "アライアンス"
|
|
35
35
|
|
|
36
36
|
#: sovtimer/models.py:57
|
|
37
37
|
msgid "Alliances"
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# SOME DESCRIPTIVE TITLE.
|
|
2
2
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
3
|
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
-
# Peter Pfeufer <info@ppfeufer.de>, 2023, 2024.
|
|
4
|
+
# Peter Pfeufer <info@ppfeufer.de>, 2023, 2024, 2026.
|
|
5
5
|
# Author50CO <tkddlschry@gmail.com>, 2023, 2024.
|
|
6
6
|
# Mind of the Raven <okanieva@gmail.com>, 2024.
|
|
7
7
|
# Rodpold Shard <rodpold@gmail.com>, 2024.
|
|
@@ -10,16 +10,16 @@ msgid ""
|
|
|
10
10
|
msgstr ""
|
|
11
11
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
12
12
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
13
|
-
"POT-Creation-Date: 2026-
|
|
14
|
-
"PO-Revision-Date:
|
|
15
|
-
"Last-Translator:
|
|
13
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
14
|
+
"PO-Revision-Date: 2026-03-22 19:23+0000\n"
|
|
15
|
+
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
16
16
|
"Language-Team: Korean <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/ko/>\n"
|
|
17
17
|
"Language: ko_KR\n"
|
|
18
18
|
"MIME-Version: 1.0\n"
|
|
19
19
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
20
20
|
"Content-Transfer-Encoding: 8bit\n"
|
|
21
21
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
22
|
-
"X-Generator: Weblate 5.
|
|
22
|
+
"X-Generator: Weblate 5.16.2\n"
|
|
23
23
|
|
|
24
24
|
#: sovtimer/__init__.py:10 sovtimer/models.py:35
|
|
25
25
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
@@ -33,7 +33,7 @@ msgstr "소버린티 타이머 모듈에 접근할 수 있는 권한"
|
|
|
33
33
|
|
|
34
34
|
#: sovtimer/models.py:56
|
|
35
35
|
msgid "Alliance"
|
|
36
|
-
msgstr ""
|
|
36
|
+
msgstr "얼라이언스"
|
|
37
37
|
|
|
38
38
|
#: sovtimer/models.py:57
|
|
39
39
|
msgid "Alliances"
|
|
@@ -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: 2026-
|
|
9
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
10
10
|
"PO-Revision-Date: 2026-02-01 14:23+0000\n"
|
|
11
11
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
12
12
|
"Language-Team: Dutch <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/nl/>\n"
|
|
@@ -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: 2026-
|
|
9
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
10
10
|
"PO-Revision-Date: 2024-05-10 14:12+0000\n"
|
|
11
11
|
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
|
12
12
|
"Language-Team: Polish <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/pl/>\n"
|
|
Binary file
|
|
@@ -8,8 +8,8 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
11
|
-
"POT-Creation-Date: 2026-
|
|
12
|
-
"PO-Revision-Date: 2026-
|
|
11
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
12
|
+
"PO-Revision-Date: 2026-03-22 19:23+0000\n"
|
|
13
13
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
14
14
|
"Language-Team: Russian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/ru/>\n"
|
|
15
15
|
"Language: ru\n"
|
|
@@ -17,7 +17,7 @@ msgstr ""
|
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : (n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
|
20
|
-
"X-Generator: Weblate 5.
|
|
20
|
+
"X-Generator: Weblate 5.16.2\n"
|
|
21
21
|
|
|
22
22
|
#: sovtimer/__init__.py:10 sovtimer/models.py:35
|
|
23
23
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
@@ -31,7 +31,7 @@ msgstr "Имеет доступ к модулю 'Таймер суверенит
|
|
|
31
31
|
|
|
32
32
|
#: sovtimer/models.py:56
|
|
33
33
|
msgid "Alliance"
|
|
34
|
-
msgstr ""
|
|
34
|
+
msgstr "Альянс"
|
|
35
35
|
|
|
36
36
|
#: sovtimer/models.py:57
|
|
37
37
|
msgid "Alliances"
|
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
9
9
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
10
|
-
"POT-Creation-Date: 2026-
|
|
10
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2024-05-10 14:12+0000\n"
|
|
12
12
|
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
|
13
13
|
"Language-Team: Slovak <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/sk/>\n"
|
|
Binary file
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
3
|
# This file is distributed under the same license as the PACKAGE package.
|
|
4
4
|
# "Andrii M." <elfleg0las88@gmail.com>, 2023, 2024.
|
|
5
|
-
# Peter Pfeufer <info@ppfeufer.de>, 2023, 2024.
|
|
5
|
+
# Peter Pfeufer <info@ppfeufer.de>, 2023, 2024, 2026.
|
|
6
6
|
# M <skrypets@gmail.com>, 2025.
|
|
7
|
-
# s0k0l -_- <salarysalo@gmail.com>, 2025.
|
|
7
|
+
# s0k0l -_- <salarysalo@gmail.com>, 2025, 2026.
|
|
8
8
|
msgid ""
|
|
9
9
|
msgstr ""
|
|
10
10
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
11
11
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
12
|
-
"POT-Creation-Date: 2026-
|
|
13
|
-
"PO-Revision-Date:
|
|
12
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
13
|
+
"PO-Revision-Date: 2026-03-29 04:01+0000\n"
|
|
14
14
|
"Last-Translator: s0k0l -_- <salarysalo@gmail.com>\n"
|
|
15
15
|
"Language-Team: Ukrainian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/uk/>\n"
|
|
16
16
|
"Language: uk\n"
|
|
@@ -18,7 +18,7 @@ msgstr ""
|
|
|
18
18
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
19
19
|
"Content-Transfer-Encoding: 8bit\n"
|
|
20
20
|
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : (n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
|
21
|
-
"X-Generator: Weblate 5.
|
|
21
|
+
"X-Generator: Weblate 5.16.2\n"
|
|
22
22
|
|
|
23
23
|
#: sovtimer/__init__.py:10 sovtimer/models.py:35
|
|
24
24
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
@@ -32,11 +32,11 @@ msgstr "Є доступ до модуля Таймерів Сувереніте
|
|
|
32
32
|
|
|
33
33
|
#: sovtimer/models.py:56
|
|
34
34
|
msgid "Alliance"
|
|
35
|
-
msgstr ""
|
|
35
|
+
msgstr "Аліянс"
|
|
36
36
|
|
|
37
37
|
#: sovtimer/models.py:57
|
|
38
38
|
msgid "Alliances"
|
|
39
|
-
msgstr ""
|
|
39
|
+
msgstr "Ал'янси"
|
|
40
40
|
|
|
41
41
|
#: sovtimer/models.py:153
|
|
42
42
|
msgid "Sovereignty structure"
|
|
@@ -92,7 +92,7 @@ msgstr "Система"
|
|
|
92
92
|
|
|
93
93
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:65
|
|
94
94
|
msgid "Constellation"
|
|
95
|
-
msgstr "
|
|
95
|
+
msgstr "Констеляція"
|
|
96
96
|
|
|
97
97
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:66
|
|
98
98
|
msgid "Region"
|
|
Binary file
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
# MxdHana <236833425@qq.com>, 2024.
|
|
8
8
|
# SAM_FPS <sam_fps@163.com>, 2024.
|
|
9
9
|
# AKA Patrick <hsc844766246@gmail.com>, 2025.
|
|
10
|
-
# LichenKass <yuanchengwei_sz@163.com>, 2025.
|
|
10
|
+
# LichenKass <yuanchengwei_sz@163.com>, 2025, 2026.
|
|
11
11
|
# nm l <mmttyyluo@gmail.com>, 2026.
|
|
12
12
|
# shkno <l13244536339@163.com>, 2026.
|
|
13
13
|
msgid ""
|
|
14
14
|
msgstr ""
|
|
15
15
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
16
16
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
17
|
-
"POT-Creation-Date: 2026-
|
|
18
|
-
"PO-Revision-Date: 2026-
|
|
17
|
+
"POT-Creation-Date: 2026-04-07 19:56+0200\n"
|
|
18
|
+
"PO-Revision-Date: 2026-03-06 10:23+0000\n"
|
|
19
19
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
20
20
|
"Language-Team: Chinese (Simplified Han script) <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/zh_Hans/>\n"
|
|
21
21
|
"Language: zh_Hans\n"
|
|
@@ -23,7 +23,7 @@ msgstr ""
|
|
|
23
23
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
24
24
|
"Content-Transfer-Encoding: 8bit\n"
|
|
25
25
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
26
|
-
"X-Generator: Weblate 5.
|
|
26
|
+
"X-Generator: Weblate 5.16.1\n"
|
|
27
27
|
|
|
28
28
|
#: sovtimer/__init__.py:10 sovtimer/models.py:35
|
|
29
29
|
#: sovtimer/templates/sovtimer/base.html:7
|
|
@@ -4,10 +4,11 @@ Providers
|
|
|
4
4
|
|
|
5
5
|
# Standard Library
|
|
6
6
|
import logging
|
|
7
|
+
import typing
|
|
7
8
|
from typing import Any
|
|
8
9
|
|
|
9
10
|
# Third Party
|
|
10
|
-
from aiopenapi3 import ContentTypeError
|
|
11
|
+
from aiopenapi3 import ContentTypeError, RequestError
|
|
11
12
|
from httpx import Response
|
|
12
13
|
|
|
13
14
|
# Alliance Auth
|
|
@@ -24,6 +25,14 @@ from sovtimer import (
|
|
|
24
25
|
__version__,
|
|
25
26
|
)
|
|
26
27
|
|
|
28
|
+
if typing.TYPE_CHECKING:
|
|
29
|
+
# Alliance Auth
|
|
30
|
+
from esi.stubs import (
|
|
31
|
+
AllianceDetail,
|
|
32
|
+
SovereigntyCampaignsGet,
|
|
33
|
+
SovereigntyStructuresGet,
|
|
34
|
+
)
|
|
35
|
+
|
|
27
36
|
# ESI client
|
|
28
37
|
esi = ESIClientProvider(
|
|
29
38
|
# Use the latest compatibility date, see https://esi.evetech.net/meta/compatibility-dates
|
|
@@ -98,7 +107,7 @@ class ESIHandler:
|
|
|
98
107
|
)
|
|
99
108
|
|
|
100
109
|
esi_result = None
|
|
101
|
-
except HTTPClientError as exc:
|
|
110
|
+
except (HTTPClientError, RequestError) as exc:
|
|
102
111
|
logger.error(msg=f"Error while fetching data from ESI: {str(exc)}")
|
|
103
112
|
|
|
104
113
|
esi_result = None
|
|
@@ -108,7 +117,7 @@ class ESIHandler:
|
|
|
108
117
|
@classmethod
|
|
109
118
|
def get_alliances_alliance_id(
|
|
110
119
|
cls, alliance_id: int, force_refresh: bool = False
|
|
111
|
-
) ->
|
|
120
|
+
) -> "AllianceDetail | None":
|
|
112
121
|
"""
|
|
113
122
|
Get alliance information from ESI.
|
|
114
123
|
|
|
@@ -117,7 +126,7 @@ class ESIHandler:
|
|
|
117
126
|
:param force_refresh: Whether to force a refresh of the data from ESI, bypassing any caches.
|
|
118
127
|
:type force_refresh: bool
|
|
119
128
|
:return: Alliance information or None if an error occurred.
|
|
120
|
-
:rtype:
|
|
129
|
+
:rtype: AllianceDetail | None
|
|
121
130
|
"""
|
|
122
131
|
|
|
123
132
|
logger.debug(
|
|
@@ -134,12 +143,12 @@ class ESIHandler:
|
|
|
134
143
|
@classmethod
|
|
135
144
|
def get_sovereignty_campaigns(
|
|
136
145
|
cls, force_refresh: bool = False
|
|
137
|
-
) -> list[
|
|
146
|
+
) -> "list[SovereigntyCampaignsGet] | None":
|
|
138
147
|
"""
|
|
139
148
|
Get sovereignty campaigns from ESI.
|
|
140
149
|
|
|
141
150
|
:return: List of sovereignty campaigns or None if an error occurred.
|
|
142
|
-
:rtype: list[
|
|
151
|
+
:rtype: list[SovereigntyCampaignsGet] | None
|
|
143
152
|
"""
|
|
144
153
|
|
|
145
154
|
logger.debug("Fetching sovereignty campaigns from ESI...")
|
|
@@ -152,12 +161,12 @@ class ESIHandler:
|
|
|
152
161
|
@classmethod
|
|
153
162
|
def get_sovereignty_structures(
|
|
154
163
|
cls, force_refresh: bool = False
|
|
155
|
-
) -> list[
|
|
164
|
+
) -> "list[SovereigntyStructuresGet] | None":
|
|
156
165
|
"""
|
|
157
166
|
Get sovereignty structures from ESI.
|
|
158
167
|
|
|
159
168
|
:return: List of sovereignty structures or None if an error occurred.
|
|
160
|
-
:rtype: list[
|
|
169
|
+
:rtype: list[SovereigntyStructuresGet] | None
|
|
161
170
|
"""
|
|
162
171
|
|
|
163
172
|
logger.debug("Fetching sovereignty structures from ESI...")
|
|
@@ -3,12 +3,16 @@ Test for the providers module.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
# Standard Library
|
|
6
|
+
import importlib
|
|
6
7
|
import logging
|
|
8
|
+
import sys
|
|
9
|
+
import types
|
|
10
|
+
import typing
|
|
7
11
|
from http import HTTPStatus
|
|
8
12
|
from unittest.mock import MagicMock, patch
|
|
9
13
|
|
|
10
14
|
# Third Party
|
|
11
|
-
from aiopenapi3 import ContentTypeError
|
|
15
|
+
from aiopenapi3 import ContentTypeError, RequestError
|
|
12
16
|
|
|
13
17
|
# Alliance Auth
|
|
14
18
|
from esi.exceptions import HTTPClientError, HTTPNotModified
|
|
@@ -18,6 +22,44 @@ from sovtimer.providers import AppLogger, ESIHandler
|
|
|
18
22
|
from sovtimer.tests import BaseTestCase
|
|
19
23
|
|
|
20
24
|
|
|
25
|
+
class TestTypingTypeCheckingIfCondition(BaseTestCase):
|
|
26
|
+
def test_when_typing_TYPE_CHECKING_true_then_stub_types_are_imported_into_module_namespace(
|
|
27
|
+
self,
|
|
28
|
+
):
|
|
29
|
+
"""
|
|
30
|
+
Test that when `typing.TYPE_CHECKING` is set to `True`, the stub types from `esi.stubs` are imported into the module namespace.
|
|
31
|
+
|
|
32
|
+
:return:
|
|
33
|
+
:rtype:
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
fake_stubs = types.ModuleType("esi.stubs")
|
|
37
|
+
fake_stubs.AllianceDetail = type("AllianceDetail", (), {})
|
|
38
|
+
fake_stubs.SovereigntyCampaignsGet = type("SovereigntyCampaignsGet", (), {})
|
|
39
|
+
fake_stubs.SovereigntyStructuresGet = type("SovereigntyStructuresGet", (), {})
|
|
40
|
+
|
|
41
|
+
original_sys_modules = sys.modules.copy()
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
sys.modules["esi.stubs"] = fake_stubs
|
|
45
|
+
|
|
46
|
+
with patch.object(typing, "TYPE_CHECKING", True):
|
|
47
|
+
providers = importlib.import_module("sovtimer.providers")
|
|
48
|
+
importlib.reload(providers)
|
|
49
|
+
|
|
50
|
+
self.assertTrue(hasattr(providers, "AllianceDetail"))
|
|
51
|
+
self.assertTrue(hasattr(providers, "SovereigntyCampaignsGet"))
|
|
52
|
+
self.assertTrue(hasattr(providers, "SovereigntyStructuresGet"))
|
|
53
|
+
finally:
|
|
54
|
+
sys.modules.clear()
|
|
55
|
+
sys.modules.update(original_sys_modules)
|
|
56
|
+
|
|
57
|
+
try:
|
|
58
|
+
importlib.reload(importlib.import_module("sovtimer.providers"))
|
|
59
|
+
except Exception:
|
|
60
|
+
pass
|
|
61
|
+
|
|
62
|
+
|
|
21
63
|
class TestESIHandlerResult(BaseTestCase):
|
|
22
64
|
"""
|
|
23
65
|
Test the ESIHandler.result method.
|
|
@@ -97,6 +139,27 @@ class TestESIHandlerResult(BaseTestCase):
|
|
|
97
139
|
self.assertIsNone(response)
|
|
98
140
|
mock_operation.result.assert_called_once()
|
|
99
141
|
|
|
142
|
+
def test_returns_none_when_request_error_occurs(self):
|
|
143
|
+
"""
|
|
144
|
+
Test that an HTTPRequestError exception is raised correctly.
|
|
145
|
+
|
|
146
|
+
:return:
|
|
147
|
+
:rtype:
|
|
148
|
+
"""
|
|
149
|
+
|
|
150
|
+
mock_operation = MagicMock()
|
|
151
|
+
mock_operation.result.side_effect = RequestError(
|
|
152
|
+
operation=mock_operation,
|
|
153
|
+
request=MagicMock(),
|
|
154
|
+
data={},
|
|
155
|
+
parameters={},
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
response = ESIHandler.result(mock_operation)
|
|
159
|
+
|
|
160
|
+
self.assertIsNone(response)
|
|
161
|
+
mock_operation.result.assert_called_once()
|
|
162
|
+
|
|
100
163
|
def test_passes_extra_parameters_to_operation(self):
|
|
101
164
|
"""
|
|
102
165
|
Test that extra parameters are passed correctly to the ESI operation.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/management/commands/sovtimer_load_initial_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0008_fix_campaign_attackers_score.py
RENAMED
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/migrations/0010_alter_campaign_event_type.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/css/aa-sov-timer.min.css.map
RENAMED
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/font/materialicons/v143/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/static/sovtimer/js/aa-sov-timer.min.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/bundles/aa-sov-timer-css.html
RENAMED
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/bundles/aa-sov-timer-js.html
RENAMED
|
File without changes
|
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/partials/common/spinner.html
RENAMED
|
File without changes
|
{aa_sov_timer-4.0.0 → aa_sov_timer-4.0.2}/sovtimer/templates/sovtimer/partials/dashboard/table.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|