aa-sov-timer 2.3.4__tar.gz → 2.4.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-2.3.4 → aa_sov_timer-2.4.0}/PKG-INFO +3 -11
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/README.md +2 -10
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/__init__.py +1 -1
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/cs_CZ/LC_MESSAGES/django.po +1 -1
- aa_sov_timer-2.4.0/sovtimer/locale/de/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/de/LC_MESSAGES/django.po +4 -4
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/django.pot +2 -2
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/es/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/fr_FR/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/it_IT/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/ja/LC_MESSAGES/django.po +1 -1
- aa_sov_timer-2.4.0/sovtimer/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/ko_KR/LC_MESSAGES/django.po +6 -5
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/nl_NL/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/pl_PL/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/ru/LC_MESSAGES/django.po +1 -1
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/sk/LC_MESSAGES/django.po +1 -1
- aa_sov_timer-2.4.0/sovtimer/locale/uk/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/uk/LC_MESSAGES/django.po +27 -42
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- aa_sov_timer-2.4.0/sovtimer/templates/sovtimer/bundles/aa-sov-timer-css.html +3 -0
- aa_sov_timer-2.4.0/sovtimer/templates/sovtimer/bundles/aa-sov-timer-js.html +3 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/templates/sovtimer/partials/dashboard/table.html +10 -10
- aa_sov_timer-2.3.4/sovtimer/helper/static_files.py +0 -43
- aa_sov_timer-2.3.4/sovtimer/locale/de/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-2.3.4/sovtimer/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-2.3.4/sovtimer/locale/uk/LC_MESSAGES/django.mo +0 -0
- aa_sov_timer-2.3.4/sovtimer/templates/sovtimer/bundles/aa-sov-timer-css.html +0 -3
- aa_sov_timer-2.3.4/sovtimer/templates/sovtimer/bundles/aa-sov-timer-js.html +0 -3
- aa_sov_timer-2.3.4/sovtimer/templatetags/__init__.py +0 -3
- aa_sov_timer-2.3.4/sovtimer/templatetags/sovtimer.py +0 -86
- aa_sov_timer-2.3.4/sovtimer/tests/test_templatetags.py +0 -103
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/.gitignore +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/LICENSE +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/pyproject.toml +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/app_settings.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/apps.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/auth_hooks.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/constants.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/.gitkeep +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/es/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/ja/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/ru/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/sk/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/management/commands/__init__.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/management/commands/sovtimer_load_initial_data.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0001_initial.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0002_aasovtimercampaigns_aasovtimerstructures.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0003_auto_20201113_1033.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0004_auto_20201113_1856.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0005_auto_20201114_0720.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0006_rename_models.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0007_cleanup_models.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0008_fix_campaign_attackers_score.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0009_alter_campaign_options_and_more.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0010_alter_campaign_event_type.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/__init__.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/models.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/providers.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/css/aa-sov-timer.css +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/css/aa-sov-timer.min.css +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/css/aa-sov-timer.min.css.map +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/font/materialicons/v143/MaterialIcons-Regular.woff2 +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/font/materialicons/v143/README.md +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/images/zkillboard.png +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/js/aa-sov-timer.js +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/js/aa-sov-timer.min.js +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/js/aa-sov-timer.min.js.map +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tasks.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/templates/sovtimer/base.html +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/templates/sovtimer/dashboard.html +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/templates/sovtimer/partials/footer/app-translation-footer.html +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/__init__.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/fixtures/allianceauth.json +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/fixtures/load_allianceauth.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/fixtures/load_sovtimer.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/fixtures/sovtimer.json +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/fixtures/utils.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/test_ajax_calls.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/test_app_settings.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/test_integration.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/tests/utils.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/urls.py +0 -0
- {aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aa-sov-timer
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.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: Documentation, https://github.com/ppfeufer/aa-sov-timer/blob/master/README.md
|
|
@@ -757,17 +757,9 @@ ______________________________________________________________________
|
|
|
757
757
|
|
|
758
758
|
## Installation<a name="installation"></a>
|
|
759
759
|
|
|
760
|
-
> [!
|
|
760
|
+
> [!IMPORTANT]
|
|
761
761
|
>
|
|
762
|
-
>
|
|
763
|
-
>
|
|
764
|
-
> Please make sure to update your Alliance Auth instance _before_ you install this
|
|
765
|
-
> module or update to the latest version, otherwise an update to Alliance Auth will
|
|
766
|
-
> be pulled in unsupervised.
|
|
767
|
-
>
|
|
768
|
-
> The last version compatible with Alliance Auth v3 is `1.12.3`.
|
|
769
|
-
|
|
770
|
-
**Important**: Please make sure you meet all preconditions before you proceed:
|
|
762
|
+
> Please make sure you meet all preconditions before you proceed.
|
|
771
763
|
|
|
772
764
|
- AA Sovereignty Timer is a plugin for Alliance Auth. If you don't have Alliance
|
|
773
765
|
Auth running already, please install it first before proceeding. (see the official
|
|
@@ -47,17 +47,9 @@ ______________________________________________________________________
|
|
|
47
47
|
|
|
48
48
|
## Installation<a name="installation"></a>
|
|
49
49
|
|
|
50
|
-
> [!
|
|
50
|
+
> [!IMPORTANT]
|
|
51
51
|
>
|
|
52
|
-
>
|
|
53
|
-
>
|
|
54
|
-
> Please make sure to update your Alliance Auth instance _before_ you install this
|
|
55
|
-
> module or update to the latest version, otherwise an update to Alliance Auth will
|
|
56
|
-
> be pulled in unsupervised.
|
|
57
|
-
>
|
|
58
|
-
> The last version compatible with Alliance Auth v3 is `1.12.3`.
|
|
59
|
-
|
|
60
|
-
**Important**: Please make sure you meet all preconditions before you proceed:
|
|
52
|
+
> Please make sure you meet all preconditions before you proceed.
|
|
61
53
|
|
|
62
54
|
- AA Sovereignty Timer is a plugin for Alliance Auth. If you don't have Alliance
|
|
63
55
|
Auth running already, please install it first before proceeding. (see the official
|
|
@@ -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-
|
|
9
|
+
"POT-Creation-Date: 2025-06-03 13:33+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"
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
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
|
-
# "H. Peter Pfeufer" <info@ppfeufer.de>, 2023, 2024.
|
|
4
|
+
# "H. Peter Pfeufer" <info@ppfeufer.de>, 2023, 2024, 2025.
|
|
5
5
|
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-
|
|
10
|
-
"PO-Revision-Date:
|
|
9
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
10
|
+
"PO-Revision-Date: 2025-04-25 14:24+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"
|
|
13
13
|
"Language: de\n"
|
|
@@ -15,7 +15,7 @@ msgstr ""
|
|
|
15
15
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
16
16
|
"Content-Transfer-Encoding: 8bit\n"
|
|
17
17
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
18
|
-
"X-Generator: Weblate 5.
|
|
18
|
+
"X-Generator: Weblate 5.11\n"
|
|
19
19
|
|
|
20
20
|
#: sovtimer/__init__.py:9
|
|
21
21
|
msgid "Sovereignty Timers"
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
#, fuzzy
|
|
7
7
|
msgid ""
|
|
8
8
|
msgstr ""
|
|
9
|
-
"Project-Id-Version: AA Sov Timer 2.
|
|
9
|
+
"Project-Id-Version: AA Sov Timer 2.4.0\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
11
|
-
"POT-Creation-Date: 2025-
|
|
11
|
+
"POT-Creation-Date: 2025-06-03 13:33+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: 2025-
|
|
10
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2024-12-15 10:37+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"
|
|
@@ -10,7 +10,7 @@ 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: 2025-
|
|
13
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
14
14
|
"PO-Revision-Date: 2024-12-15 10:37+0000\n"
|
|
15
15
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
16
16
|
"Language-Team: French <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/fr/>\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: 2025-
|
|
9
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
10
10
|
"PO-Revision-Date: 2024-12-22 21:15+0000\n"
|
|
11
11
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
12
12
|
"Language-Team: Italian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/it/>\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: 2025-
|
|
10
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2024-08-06 03:28+0000\n"
|
|
12
12
|
"Last-Translator: Deleted User <noreply+44@weblate.org>\n"
|
|
13
13
|
"Language-Team: Japanese <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/ja/>\n"
|
|
Binary file
|
|
@@ -5,20 +5,21 @@
|
|
|
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.
|
|
8
|
+
# SiO4 <hohoit0078@gmail.com>, 2025.
|
|
8
9
|
msgid ""
|
|
9
10
|
msgstr ""
|
|
10
11
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
11
12
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
12
|
-
"POT-Creation-Date: 2025-
|
|
13
|
-
"PO-Revision-Date:
|
|
14
|
-
"Last-Translator:
|
|
13
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
14
|
+
"PO-Revision-Date: 2025-04-28 07:24+0000\n"
|
|
15
|
+
"Last-Translator: SiO4 <hohoit0078@gmail.com>\n"
|
|
15
16
|
"Language-Team: Korean <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/ko/>\n"
|
|
16
17
|
"Language: ko_KR\n"
|
|
17
18
|
"MIME-Version: 1.0\n"
|
|
18
19
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
19
20
|
"Content-Transfer-Encoding: 8bit\n"
|
|
20
21
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
21
|
-
"X-Generator: Weblate 5.
|
|
22
|
+
"X-Generator: Weblate 5.11.1\n"
|
|
22
23
|
|
|
23
24
|
#: sovtimer/__init__.py:9
|
|
24
25
|
msgid "Sovereignty Timers"
|
|
@@ -159,7 +160,7 @@ msgstr "이 앱을 번역하거나 기존 번역을 개선하고 싶으신가요
|
|
|
159
160
|
|
|
160
161
|
#: sovtimer/templates/sovtimer/partials/footer/app-translation-footer.html:8
|
|
161
162
|
msgid "Join our team of translators!"
|
|
162
|
-
msgstr "
|
|
163
|
+
msgstr "번역가 팀에 참여하세요!"
|
|
163
164
|
|
|
164
165
|
#: sovtimer/views.py:163
|
|
165
166
|
msgid "Neither side has made any progress yet"
|
|
@@ -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: 2025-
|
|
10
|
+
"POT-Creation-Date: 2025-06-03 13:33+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: 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: 2025-
|
|
9
|
+
"POT-Creation-Date: 2025-06-03 13:33+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"
|
|
@@ -8,7 +8,7 @@ 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: 2025-
|
|
11
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
12
12
|
"PO-Revision-Date: 2024-12-15 10:37+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"
|
|
@@ -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: 2025-
|
|
10
|
+
"POT-Creation-Date: 2025-06-03 13:33+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
|
|
@@ -4,20 +4,21 @@
|
|
|
4
4
|
# "Andrii M." <elfleg0las88@gmail.com>, 2023, 2024.
|
|
5
5
|
# Peter Pfeufer <info@ppfeufer.de>, 2023, 2024.
|
|
6
6
|
# M <skrypets@gmail.com>, 2025.
|
|
7
|
+
# s0k0l -_- <salarysalo@gmail.com>, 2025.
|
|
7
8
|
msgid ""
|
|
8
9
|
msgstr ""
|
|
9
10
|
"Project-Id-Version: AA Sov Timer 2.2.1\n"
|
|
10
11
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-sov-timer/issues\n"
|
|
11
|
-
"POT-Creation-Date: 2025-
|
|
12
|
-
"PO-Revision-Date: 2025-
|
|
13
|
-
"Last-Translator:
|
|
12
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
13
|
+
"PO-Revision-Date: 2025-04-10 07:05+0000\n"
|
|
14
|
+
"Last-Translator: s0k0l -_- <salarysalo@gmail.com>\n"
|
|
14
15
|
"Language-Team: Ukrainian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/uk/>\n"
|
|
15
16
|
"Language: uk\n"
|
|
16
17
|
"MIME-Version: 1.0\n"
|
|
17
18
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
19
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
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"
|
|
20
|
-
"X-Generator: Weblate 5.10.
|
|
21
|
+
"X-Generator: Weblate 5.10.4\n"
|
|
21
22
|
|
|
22
23
|
#: sovtimer/__init__.py:9
|
|
23
24
|
msgid "Sovereignty Timers"
|
|
@@ -34,51 +35,37 @@ msgid "Sovereignty Timer"
|
|
|
34
35
|
msgstr "Таймер суверенітету"
|
|
35
36
|
|
|
36
37
|
#: sovtimer/models.py:36
|
|
37
|
-
#, fuzzy
|
|
38
|
-
#| msgid "Sovereignty Timer"
|
|
39
38
|
msgid "Can access the Sovereignty Timer module"
|
|
40
|
-
msgstr "
|
|
39
|
+
msgstr "Є доступ до модуля суверенітету"
|
|
41
40
|
|
|
42
41
|
#: sovtimer/models.py:73
|
|
43
|
-
#, fuzzy
|
|
44
|
-
#| msgid "Sovereignty Timer"
|
|
45
42
|
msgid "Sovereignty structure"
|
|
46
|
-
msgstr "
|
|
43
|
+
msgstr "Структура суверенітету"
|
|
47
44
|
|
|
48
45
|
#: sovtimer/models.py:74
|
|
49
|
-
#, fuzzy
|
|
50
|
-
#| msgid "Sovereignty Timers"
|
|
51
46
|
msgid "Sovereignty structures"
|
|
52
|
-
msgstr "
|
|
47
|
+
msgstr "Структури суверенітету"
|
|
53
48
|
|
|
54
49
|
#: sovtimer/models.py:111
|
|
55
|
-
#, fuzzy
|
|
56
|
-
#| msgid "IHub Defense"
|
|
57
50
|
msgid "Sov Hub defense"
|
|
58
|
-
msgstr "Захист
|
|
51
|
+
msgstr "Захист хабу суверенітету"
|
|
59
52
|
|
|
60
53
|
#: sovtimer/models.py:112
|
|
61
|
-
#, fuzzy
|
|
62
|
-
#| msgid "TCU Defense"
|
|
63
54
|
msgid "TCU defense"
|
|
64
|
-
msgstr "Захист
|
|
55
|
+
msgstr "Захист ТКУ"
|
|
65
56
|
|
|
66
57
|
#: sovtimer/models.py:138
|
|
67
|
-
#, fuzzy
|
|
68
|
-
#| msgid "Sovereignty Timer"
|
|
69
58
|
msgid "Sovereignty campaign"
|
|
70
|
-
msgstr "
|
|
59
|
+
msgstr "Кампанія суверенітету"
|
|
71
60
|
|
|
72
61
|
#: sovtimer/models.py:139
|
|
73
|
-
#, fuzzy
|
|
74
|
-
#| msgid "Sovereignty Timers"
|
|
75
62
|
msgid "Sovereignty campaigns"
|
|
76
|
-
msgstr "
|
|
63
|
+
msgstr "Кампанії суверенітету"
|
|
77
64
|
|
|
78
65
|
#: sovtimer/templates/sovtimer/dashboard.html:15
|
|
79
66
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:27
|
|
80
67
|
msgid "Type"
|
|
81
|
-
msgstr ""
|
|
68
|
+
msgstr "Тип"
|
|
82
69
|
|
|
83
70
|
#: sovtimer/templates/sovtimer/dashboard.html:16
|
|
84
71
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:28
|
|
@@ -102,7 +89,7 @@ msgstr "Власник / Захисник"
|
|
|
102
89
|
|
|
103
90
|
#: sovtimer/templates/sovtimer/dashboard.html:20
|
|
104
91
|
msgid "Active campaign"
|
|
105
|
-
msgstr ""
|
|
92
|
+
msgstr "активна кампанія"
|
|
106
93
|
|
|
107
94
|
#: sovtimer/templates/sovtimer/dashboard.html:21 sovtimer/views.py:161
|
|
108
95
|
msgid "Yes"
|
|
@@ -110,45 +97,43 @@ msgstr "Так"
|
|
|
110
97
|
|
|
111
98
|
#: sovtimer/templates/sovtimer/dashboard.html:22 sovtimer/views.py:159
|
|
112
99
|
msgid "No"
|
|
113
|
-
msgstr ""
|
|
100
|
+
msgstr "Номер"
|
|
114
101
|
|
|
115
102
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:4
|
|
116
103
|
msgid "The sovereignty timer list is automatically updated every 30 seconds. Progress for any active campaigns will be shown as <i>Previous - Trend - Current</i>."
|
|
117
|
-
msgstr ""
|
|
104
|
+
msgstr "Список таймерів суверенітету оновлюється автоматично кожні 30 секунд. Прогрес активних кампаній буде показаний як <i>Попереднє - Тренд - Поточне</i>."
|
|
118
105
|
|
|
119
106
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:10
|
|
120
|
-
#, fuzzy
|
|
121
|
-
#| msgid "Sovereignty Timers"
|
|
122
107
|
msgid "Sovereignty campaign list"
|
|
123
|
-
msgstr "
|
|
108
|
+
msgstr "Список кампаній суверенітету"
|
|
124
109
|
|
|
125
110
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:16
|
|
126
111
|
msgid "Timers total:"
|
|
127
|
-
msgstr ""
|
|
112
|
+
msgstr "Таймерів усього:"
|
|
128
113
|
|
|
129
114
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:17
|
|
130
115
|
msgid "Timers upcoming (< 4hrs):"
|
|
131
|
-
msgstr ""
|
|
116
|
+
msgstr "Таймери (< 4 годин):"
|
|
132
117
|
|
|
133
118
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:18
|
|
134
119
|
msgid "Timers active:"
|
|
135
|
-
msgstr ""
|
|
120
|
+
msgstr "Активні таймери:"
|
|
136
121
|
|
|
137
122
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:32
|
|
138
123
|
msgid "ADM"
|
|
139
|
-
msgstr ""
|
|
124
|
+
msgstr "АДМ"
|
|
140
125
|
|
|
141
126
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:33
|
|
142
127
|
msgid "Start"
|
|
143
|
-
msgstr ""
|
|
128
|
+
msgstr "Початок"
|
|
144
129
|
|
|
145
130
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:34
|
|
146
131
|
msgid "Remaining"
|
|
147
|
-
msgstr ""
|
|
132
|
+
msgstr "Залишилось"
|
|
148
133
|
|
|
149
134
|
#: sovtimer/templates/sovtimer/partials/dashboard/table.html:35
|
|
150
135
|
msgid "Progress"
|
|
151
|
-
msgstr ""
|
|
136
|
+
msgstr "Прогрес"
|
|
152
137
|
|
|
153
138
|
#: sovtimer/templates/sovtimer/partials/footer/app-translation-footer.html:5
|
|
154
139
|
msgid "Do you want to help translate this app into your language or improve the existing translation?"
|
|
@@ -160,15 +145,15 @@ msgstr "Приєднуйтесь до нашої команди переклад
|
|
|
160
145
|
|
|
161
146
|
#: sovtimer/views.py:163
|
|
162
147
|
msgid "Neither side has made any progress yet"
|
|
163
|
-
msgstr ""
|
|
148
|
+
msgstr "Жодна з сторін ще не зробила прогресу"
|
|
164
149
|
|
|
165
150
|
#: sovtimer/views.py:171
|
|
166
151
|
msgid "Defenders making progress"
|
|
167
|
-
msgstr ""
|
|
152
|
+
msgstr "Прогрес захисників"
|
|
168
153
|
|
|
169
154
|
#: sovtimer/views.py:179
|
|
170
155
|
msgid "Attackers making progress"
|
|
171
|
-
msgstr ""
|
|
156
|
+
msgstr "Прогрес атакуючих"
|
|
172
157
|
|
|
173
158
|
#~ msgid "No data available in this table"
|
|
174
159
|
#~ msgstr "Немає даних у цій таблиці"
|
|
@@ -10,7 +10,7 @@ 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: 2025-
|
|
13
|
+
"POT-Creation-Date: 2025-06-03 13:33+0200\n"
|
|
14
14
|
"PO-Revision-Date: 2024-05-15 09:21+0000\n"
|
|
15
15
|
"Last-Translator: SAM_FPS <sam_fps@163.com>\n"
|
|
16
16
|
"Language-Team: Chinese (Simplified) <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-sov-timer/zh_Hans/>\n"
|
{aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/templates/sovtimer/partials/dashboard/table.html
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{% load i18n %}
|
|
2
2
|
|
|
3
3
|
<p class="text-muted">
|
|
4
|
-
{% translate
|
|
4
|
+
{% translate "The sovereignty timer list is automatically updated every 30 seconds. Progress for any active campaigns will be shown as <i>Previous - Trend - Current</i>." %}
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<div class="card card-default">
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
<table class="table table-striped aa-sovtimer-campaigns" style="width: 100%; border-collapse: collapse !important;">
|
|
25
25
|
<thead>
|
|
26
26
|
<tr>
|
|
27
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-type">{% translate
|
|
28
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-system">{% translate
|
|
29
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-constellation">{% translate
|
|
30
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-region">{% translate
|
|
31
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-defender">{% translate
|
|
32
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-adm">{% translate
|
|
33
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-start-datetime">{% translate
|
|
34
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-remaining-time">{% translate
|
|
35
|
-
<th class="aa-sovtimer-campaigns-column aa-sovtimer-column-
|
|
27
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-type">{% translate "Type" %}</th>
|
|
28
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-system">{% translate "System" %}</th>
|
|
29
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-constellation">{% translate "Constellation" %}</th>
|
|
30
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-region">{% translate "Region" %}</th>
|
|
31
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-defender">{% translate "Owner / Defender" %}</th>
|
|
32
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-adm">{% translate "ADM" %}</th>
|
|
33
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-start-datetime">{% translate "Start" %}</th>
|
|
34
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-remaining-time">{% translate "Remaining" %}</th>
|
|
35
|
+
<th class="aa-sovtimer-campaigns-column aa-sovtimer-campaigns-column-progress">{% translate "Progress" %}</th>
|
|
36
36
|
</tr>
|
|
37
37
|
</thead>
|
|
38
38
|
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Helper functions for static integrity calculations
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
# Standard Library
|
|
6
|
-
import os
|
|
7
|
-
from pathlib import Path
|
|
8
|
-
|
|
9
|
-
# Third Party
|
|
10
|
-
from sri import Algorithm, calculate_integrity
|
|
11
|
-
|
|
12
|
-
# Alliance Auth
|
|
13
|
-
from allianceauth.services.hooks import get_extension_logger
|
|
14
|
-
|
|
15
|
-
# Alliance Auth (External Libs)
|
|
16
|
-
from app_utils.logging import LoggerAddTag
|
|
17
|
-
|
|
18
|
-
# AA Sovereignty Timer
|
|
19
|
-
# AA Sov Timer
|
|
20
|
-
from sovtimer import __title__
|
|
21
|
-
from sovtimer.constants import APP_STATIC_DIR
|
|
22
|
-
|
|
23
|
-
logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def calculate_integrity_hash(relative_file_path: str) -> str:
|
|
27
|
-
"""
|
|
28
|
-
Calculates the integrity hash for a given static file
|
|
29
|
-
|
|
30
|
-
:param self:
|
|
31
|
-
:type self:
|
|
32
|
-
:param relative_file_path: The file path relative to the `{APP_NAME}/{PACKAGE_NAME}/static/{PACKAGE_NAME}` folder
|
|
33
|
-
:type relative_file_path: str
|
|
34
|
-
:return: The integrity hash
|
|
35
|
-
:rtype: str
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
file_path = os.path.join(APP_STATIC_DIR, relative_file_path)
|
|
39
|
-
integrity_hash = calculate_integrity(
|
|
40
|
-
path=Path(file_path), algorithm=Algorithm.SHA512
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
return integrity_hash
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Versioned static URLs to break browser caches when changing the app version
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
# Standard Library
|
|
6
|
-
import os
|
|
7
|
-
|
|
8
|
-
# Django
|
|
9
|
-
from django.template.defaulttags import register
|
|
10
|
-
from django.templatetags.static import static
|
|
11
|
-
from django.utils.safestring import mark_safe
|
|
12
|
-
|
|
13
|
-
# Alliance Auth
|
|
14
|
-
from allianceauth.services.hooks import get_extension_logger
|
|
15
|
-
|
|
16
|
-
# Alliance Auth (External Libs)
|
|
17
|
-
from app_utils.logging import LoggerAddTag
|
|
18
|
-
|
|
19
|
-
# AA Sovereignty Timer
|
|
20
|
-
from sovtimer import __title__, __version__
|
|
21
|
-
from sovtimer.app_settings import debug_enabled
|
|
22
|
-
from sovtimer.constants import PACKAGE_NAME
|
|
23
|
-
from sovtimer.helper.static_files import calculate_integrity_hash
|
|
24
|
-
|
|
25
|
-
logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@register.simple_tag
|
|
29
|
-
def sovtimer_static(relative_file_path: str, script_type: str = None) -> str | None:
|
|
30
|
-
"""
|
|
31
|
-
Versioned static URL
|
|
32
|
-
|
|
33
|
-
:param relative_file_path: The file path relative to the `{APP_NAME}/{PACKAGE_NAME}/static/{PACKAGE_NAME}` folder
|
|
34
|
-
:type relative_file_path: str
|
|
35
|
-
:param script_type: The script type
|
|
36
|
-
:type script_type: str
|
|
37
|
-
:return: Versioned static URL
|
|
38
|
-
:rtype: str
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
logger.debug(f"Getting versioned static URL for: {relative_file_path}")
|
|
42
|
-
|
|
43
|
-
file_type = os.path.splitext(relative_file_path)[1][1:]
|
|
44
|
-
|
|
45
|
-
logger.debug(f"File extension: {file_type}")
|
|
46
|
-
|
|
47
|
-
# Only support CSS and JS files
|
|
48
|
-
if file_type not in ["css", "js"]:
|
|
49
|
-
raise ValueError(f"Unsupported file type: {file_type}")
|
|
50
|
-
|
|
51
|
-
static_file_path = os.path.join(PACKAGE_NAME, relative_file_path)
|
|
52
|
-
static_url = static(static_file_path)
|
|
53
|
-
|
|
54
|
-
# Integrity hash calculation only for non-debug mode
|
|
55
|
-
sri_string = (
|
|
56
|
-
f' integrity="{calculate_integrity_hash(relative_file_path)}" crossorigin="anonymous"'
|
|
57
|
-
if not debug_enabled()
|
|
58
|
-
else ""
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
# Versioned URL for CSS and JS files
|
|
62
|
-
# Add version query parameter to break browser caches when changing the app version
|
|
63
|
-
# Do not add version query parameter for libs as they are already versioned through their file path
|
|
64
|
-
versioned_url = (
|
|
65
|
-
static_url
|
|
66
|
-
if relative_file_path.startswith("libs/")
|
|
67
|
-
else static_url + "?v=" + __version__
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
return_value = None
|
|
71
|
-
|
|
72
|
-
# Return the versioned URL with integrity hash for CSS
|
|
73
|
-
if file_type == "css":
|
|
74
|
-
return_value = mark_safe(
|
|
75
|
-
f'<link rel="stylesheet" href="{versioned_url}"{sri_string}>'
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
# Return the versioned URL with integrity hash for JS files
|
|
79
|
-
if file_type == "js":
|
|
80
|
-
js_type = f' type="{script_type}"' if script_type else ""
|
|
81
|
-
|
|
82
|
-
return_value = mark_safe(
|
|
83
|
-
f'<script{js_type} src="{versioned_url}"{sri_string}></script>'
|
|
84
|
-
)
|
|
85
|
-
|
|
86
|
-
return return_value
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Test for the template tag sovtimer_static
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
# Django
|
|
6
|
-
from django.template import Context, Template
|
|
7
|
-
from django.test import TestCase, override_settings
|
|
8
|
-
|
|
9
|
-
# AA Sovereignty Timer
|
|
10
|
-
from sovtimer import __version__
|
|
11
|
-
from sovtimer.constants import PACKAGE_NAME
|
|
12
|
-
from sovtimer.helper.static_files import calculate_integrity_hash
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class TestVersionedStatic(TestCase):
|
|
16
|
-
"""
|
|
17
|
-
Test `sovtimer_static` template tag
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
@override_settings(DEBUG=False)
|
|
21
|
-
def test_versioned_static(self):
|
|
22
|
-
"""
|
|
23
|
-
Test should return the versioned static
|
|
24
|
-
|
|
25
|
-
:return:
|
|
26
|
-
:rtype:
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
context = Context(dict_={"version": __version__})
|
|
30
|
-
template_to_render = Template(
|
|
31
|
-
template_string=(
|
|
32
|
-
"{% load sovtimer %}"
|
|
33
|
-
"{% sovtimer_static 'css/aa-sov-timer.min.css' %}"
|
|
34
|
-
"{% sovtimer_static 'js/aa-sov-timer.min.js' %}"
|
|
35
|
-
)
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
rendered_template = template_to_render.render(context=context)
|
|
39
|
-
|
|
40
|
-
expected_static_css_src = (
|
|
41
|
-
f'/static/{PACKAGE_NAME}/css/aa-sov-timer.min.css?v={context["version"]}'
|
|
42
|
-
)
|
|
43
|
-
expected_static_css_src_integrity = calculate_integrity_hash(
|
|
44
|
-
"css/aa-sov-timer.min.css"
|
|
45
|
-
)
|
|
46
|
-
expected_static_js_src = (
|
|
47
|
-
f'/static/{PACKAGE_NAME}/js/aa-sov-timer.min.js?v={context["version"]}'
|
|
48
|
-
)
|
|
49
|
-
expected_static_js_src_integrity = calculate_integrity_hash(
|
|
50
|
-
"js/aa-sov-timer.min.js"
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
self.assertIn(member=expected_static_css_src, container=rendered_template)
|
|
54
|
-
self.assertIn(
|
|
55
|
-
member=expected_static_css_src_integrity, container=rendered_template
|
|
56
|
-
)
|
|
57
|
-
self.assertIn(member=expected_static_js_src, container=rendered_template)
|
|
58
|
-
self.assertIn(
|
|
59
|
-
member=expected_static_js_src_integrity, container=rendered_template
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
@override_settings(DEBUG=True)
|
|
63
|
-
def test_versioned_static_with_debug_enabled(self) -> None:
|
|
64
|
-
"""
|
|
65
|
-
Test versioned static template tag with DEBUG enabled
|
|
66
|
-
|
|
67
|
-
:return:
|
|
68
|
-
:rtype:
|
|
69
|
-
"""
|
|
70
|
-
|
|
71
|
-
context = Context({"version": __version__})
|
|
72
|
-
template_to_render = Template(
|
|
73
|
-
template_string=(
|
|
74
|
-
"{% load sovtimer %}" "{% sovtimer_static 'css/aa-sov-timer.min.css' %}"
|
|
75
|
-
)
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
rendered_template = template_to_render.render(context=context)
|
|
79
|
-
|
|
80
|
-
expected_static_css_src = (
|
|
81
|
-
f'/static/{PACKAGE_NAME}/css/aa-sov-timer.min.css?v={context["version"]}'
|
|
82
|
-
)
|
|
83
|
-
|
|
84
|
-
self.assertIn(member=expected_static_css_src, container=rendered_template)
|
|
85
|
-
self.assertNotIn(member="integrity=", container=rendered_template)
|
|
86
|
-
|
|
87
|
-
def test_invalid_file_type(self) -> None:
|
|
88
|
-
"""
|
|
89
|
-
Test should raise a ValueError for an invalid file type
|
|
90
|
-
|
|
91
|
-
:return:
|
|
92
|
-
:rtype:
|
|
93
|
-
"""
|
|
94
|
-
|
|
95
|
-
context = Context({"version": __version__})
|
|
96
|
-
template_to_render = Template(
|
|
97
|
-
template_string=(
|
|
98
|
-
"{% load sovtimer %}" "{% sovtimer_static 'invalid/invalid.txt' %}"
|
|
99
|
-
)
|
|
100
|
-
)
|
|
101
|
-
|
|
102
|
-
with self.assertRaises(ValueError):
|
|
103
|
-
template_to_render.render(context=context)
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/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
|
{aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/migrations/0008_fix_campaign_attackers_score.py
RENAMED
|
File without changes
|
|
File without changes
|
{aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/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-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/css/aa-sov-timer.min.css.map
RENAMED
|
File without changes
|
|
File without changes
|
{aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/font/materialicons/v143/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_sov_timer-2.3.4 → aa_sov_timer-2.4.0}/sovtimer/static/sovtimer/js/aa-sov-timer.min.js.map
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|