aa-intel-tool 2.6.0__py3-none-any.whl → 2.6.2__py3-none-any.whl

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.
Files changed (66) hide show
  1. aa_intel_tool/__init__.py +1 -1
  2. aa_intel_tool/app_settings.py +15 -0
  3. aa_intel_tool/constants.py +6 -5
  4. aa_intel_tool/helper/eve_character.py +24 -36
  5. aa_intel_tool/helper/static_files.py +5 -4
  6. aa_intel_tool/locale/cs_CZ/LC_MESSAGES/django.po +15 -83
  7. aa_intel_tool/locale/de/LC_MESSAGES/django.mo +0 -0
  8. aa_intel_tool/locale/de/LC_MESSAGES/django.po +71 -87
  9. aa_intel_tool/locale/django.pot +16 -84
  10. aa_intel_tool/locale/es/LC_MESSAGES/django.po +19 -83
  11. aa_intel_tool/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  12. aa_intel_tool/locale/fr_FR/LC_MESSAGES/django.po +72 -88
  13. aa_intel_tool/locale/it_IT/LC_MESSAGES/django.po +15 -83
  14. aa_intel_tool/locale/ja/LC_MESSAGES/django.po +15 -83
  15. aa_intel_tool/locale/ko_KR/LC_MESSAGES/django.po +67 -83
  16. aa_intel_tool/locale/nl_NL/LC_MESSAGES/django.po +15 -83
  17. aa_intel_tool/locale/pl_PL/LC_MESSAGES/django.po +15 -83
  18. aa_intel_tool/locale/ru/LC_MESSAGES/django.mo +0 -0
  19. aa_intel_tool/locale/ru/LC_MESSAGES/django.po +71 -87
  20. aa_intel_tool/locale/sk/LC_MESSAGES/django.po +15 -83
  21. aa_intel_tool/locale/uk/LC_MESSAGES/django.mo +0 -0
  22. aa_intel_tool/locale/uk/LC_MESSAGES/django.po +71 -94
  23. aa_intel_tool/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  24. aa_intel_tool/locale/zh_Hans/LC_MESSAGES/django.po +20 -87
  25. aa_intel_tool/parser/general.py +11 -16
  26. aa_intel_tool/parser/helper/db.py +8 -11
  27. aa_intel_tool/parser/module/chatlist.py +97 -126
  28. aa_intel_tool/parser/module/dscan.py +115 -147
  29. aa_intel_tool/parser/module/fleetcomp.py +85 -102
  30. aa_intel_tool/static/aa_intel_tool/css/aa-intel-tool.css +6 -24
  31. aa_intel_tool/static/aa_intel_tool/css/aa-intel-tool.min.css +1 -1
  32. aa_intel_tool/static/aa_intel_tool/css/aa-intel-tool.min.css.map +1 -1
  33. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan-highlight.js +104 -64
  34. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan-highlight.min.js.map +1 -1
  35. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan.js +5 -5
  36. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan.min.js +1 -1
  37. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan.min.js.map +1 -1
  38. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan-highlight.js +43 -43
  39. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan-highlight.min.js.map +1 -1
  40. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan.js +41 -17
  41. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan.min.js +1 -1
  42. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan.min.js.map +1 -1
  43. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition-highlight.js +51 -51
  44. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition-highlight.min.js.map +1 -1
  45. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition.js +13 -7
  46. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition.min.js +1 -1
  47. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition.min.js.map +1 -1
  48. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-scan-result-common.js +53 -31
  49. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-scan-result-common.min.js +1 -1
  50. aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-scan-result-common.min.js.map +1 -1
  51. aa_intel_tool/templates/aa_intel_tool/base.html +7 -42
  52. aa_intel_tool/templates/aa_intel_tool/partials/scan/evetime.html +1 -1
  53. aa_intel_tool/templatetags/aa_intel_tool.py +12 -7
  54. aa_intel_tool/tests/test-data/dscan.txt +250 -0
  55. aa_intel_tool/tests/test_admin.py +50 -38
  56. aa_intel_tool/tests/test_app_settings.py +23 -1
  57. aa_intel_tool/tests/test_helper_eve_character.py +405 -0
  58. aa_intel_tool/tests/test_models.py +188 -4
  59. aa_intel_tool/tests/test_parser_general.py +771 -0
  60. aa_intel_tool/tests/test_parser_module_chatlist.py +154 -0
  61. aa_intel_tool/tests/test_templatetags.py +24 -3
  62. {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/METADATA +4 -4
  63. {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/RECORD +65 -63
  64. aa_intel_tool/tests/test_parser.py +0 -135
  65. {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/WHEEL +0 -0
  66. {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/licenses/LICENSE +0 -0
aa_intel_tool/__init__.py CHANGED
@@ -5,5 +5,5 @@ App init
5
5
  # Django
6
6
  from django.utils.translation import gettext_lazy as _
7
7
 
8
- __version__ = "2.6.0"
8
+ __version__ = "2.6.2"
9
9
  __title__ = _("Intel Parser")
@@ -4,6 +4,10 @@ App settings
4
4
 
5
5
  # Standard Library
6
6
  from enum import IntEnum
7
+ from re import RegexFlag
8
+
9
+ # Django
10
+ from django.conf import settings
7
11
 
8
12
  # Alliance Auth
9
13
  from allianceauth.services.hooks import get_extension_logger
@@ -81,3 +85,14 @@ class UpwellStructureId(IntEnum):
81
85
  """
82
86
 
83
87
  ANSIBLEX_JUMP_GATE = 35841
88
+
89
+
90
+ def debug_enabled() -> RegexFlag:
91
+ """
92
+ Check if DEBUG is enabled
93
+
94
+ :return:
95
+ :rtype:
96
+ """
97
+
98
+ return settings.DEBUG
@@ -80,10 +80,11 @@ SUPPORTED_INTEL_TYPES = {
80
80
 
81
81
  # Building our user agent for ESI calls
82
82
  APP_NAME = "aa-intel-tool"
83
+ PACKAGE_NAME = "aa_intel_tool"
84
+ APP_VERBOSE_NAME = "AA Intel Tool"
85
+ APP_VERBOSE_NAME_USERAGENT = "AA-Intel-Tool"
83
86
  GITHUB_URL = f"https://github.com/ppfeufer/{APP_NAME}"
84
- USER_AGENT = f"{APP_NAME}/{__version__} ({GITHUB_URL}) via django-esi/{esi_version}"
87
+ USER_AGENT = f"{APP_VERBOSE_NAME_USERAGENT}/{__version__} (+{GITHUB_URL}) Django-ESI/{esi_version}"
85
88
 
86
- AA_INTEL_TOOL_BASE_DIR = os.path.join(os.path.dirname(__file__))
87
- AA_INTEL_TOOL_STATIC_DIR = os.path.join(
88
- AA_INTEL_TOOL_BASE_DIR, "static", "aa_intel_tool"
89
- )
89
+ APP_BASE_DIR = os.path.join(os.path.dirname(__file__))
90
+ APP_STATIC_DIR = os.path.join(APP_BASE_DIR, "static", PACKAGE_NAME)
@@ -25,7 +25,7 @@ from aa_intel_tool import __title__
25
25
  logger = LoggerAddTag(my_logger=get_extension_logger(name=__name__), prefix=__title__)
26
26
 
27
27
 
28
- def _create_alliance(alliance_ids: Iterable[int] = None) -> None:
28
+ def _create_alliance(alliance_ids: Iterable[int]) -> None:
29
29
  """
30
30
  Bulk creation of EveAllianceInfo objects
31
31
 
@@ -36,7 +36,6 @@ def _create_alliance(alliance_ids: Iterable[int] = None) -> None:
36
36
  """
37
37
 
38
38
  alliance_ids = set(alliance_ids)
39
-
40
39
  existing_alliance_ids = set(
41
40
  EveAllianceInfo.objects.filter(alliance_id__in=alliance_ids).values_list(
42
41
  "alliance_id", flat=True
@@ -44,23 +43,21 @@ def _create_alliance(alliance_ids: Iterable[int] = None) -> None:
44
43
  )
45
44
 
46
45
  alliances_to_fetch = alliance_ids - existing_alliance_ids
47
- count_alliances_to_fetch = len(alliances_to_fetch)
48
46
 
49
47
  if alliances_to_fetch:
50
48
  logger.debug(
51
- f"{count_alliances_to_fetch} EveAllianceInfo object(s) need to be created …"
49
+ f"{len(alliances_to_fetch)} EveAllianceInfo object(s) need to be created …"
52
50
  )
53
51
 
54
- for loop_count, alliance_id in enumerate(alliances_to_fetch):
52
+ for loop_count, alliance_id in enumerate(alliances_to_fetch, start=1):
55
53
  alliance = EveAllianceInfo.objects.create_alliance(alliance_id=alliance_id)
56
-
57
54
  logger.debug(
58
- f"({loop_count + 1}/{count_alliances_to_fetch}) "
55
+ f"({loop_count}/{len(alliances_to_fetch)}) "
59
56
  f"EveAllianceInfo object created for: {alliance.alliance_name}"
60
57
  )
61
58
 
62
59
 
63
- def _create_corporation(corporation_ids: Iterable[int] = None) -> None:
60
+ def _create_corporation(corporation_ids: Iterable[int]) -> None:
64
61
  """
65
62
  Bulk creation of EveCorporationInfo objects
66
63
 
@@ -71,7 +68,6 @@ def _create_corporation(corporation_ids: Iterable[int] = None) -> None:
71
68
  """
72
69
 
73
70
  corporation_ids = set(corporation_ids)
74
-
75
71
  existing_corporation_ids = set(
76
72
  EveCorporationInfo.objects.filter(
77
73
  corporation_id__in=corporation_ids
@@ -79,26 +75,25 @@ def _create_corporation(corporation_ids: Iterable[int] = None) -> None:
79
75
  )
80
76
 
81
77
  corporations_to_fetch = corporation_ids - existing_corporation_ids
82
- count_corporations_to_fetch = len(corporations_to_fetch)
83
78
 
84
79
  if corporations_to_fetch:
85
80
  logger.debug(
86
- f"{count_corporations_to_fetch} EveCorporationInfo object(s) need to be created …" # pylint: disable=line-too-long
81
+ f"{len(corporations_to_fetch)} EveCorporationInfo object(s) need to be created …"
87
82
  )
88
83
 
89
- for loop_count, corporation_id in enumerate(corporations_to_fetch):
84
+ for loop_count, corporation_id in enumerate(corporations_to_fetch, start=1):
90
85
  corporation = EveCorporationInfo.objects.create_corporation(
91
86
  corp_id=corporation_id
92
87
  )
93
88
 
94
89
  logger.debug(
95
- f"({loop_count + 1}/{count_corporations_to_fetch}) "
90
+ f"({loop_count}/{len(corporations_to_fetch)}) "
96
91
  f"EveCorporationInfo object created for: {corporation.corporation_name}"
97
92
  )
98
93
 
99
94
 
100
95
  def _create_character(
101
- character_ids: Iterable[int] = None, with_affiliation: bool = True
96
+ character_ids: Iterable[int], with_affiliation: bool = True
102
97
  ) -> None:
103
98
  """
104
99
  Bulk creation of EveCharacter objects
@@ -112,35 +107,30 @@ def _create_character(
112
107
  """
113
108
 
114
109
  character_ids = set(character_ids)
110
+ tmp_affiliation_ids = {"alliance": set(), "corporation": set()}
115
111
 
116
- count_characters_to_fetch = len(character_ids)
117
-
118
- logger.debug(
119
- f"{count_characters_to_fetch} EveCharacter object(s) need to be created …"
120
- )
121
-
122
- tmp_character_ids = {"corporation": [], "alliance": []}
112
+ logger.info(f"{len(character_ids)} EveCharacter object(s) need to be created …")
123
113
 
124
- for loop_count, character_id in enumerate(character_ids):
114
+ for loop_count, character_id in enumerate(character_ids, start=1):
125
115
  # Create character
126
116
  character = EveCharacter.objects.create_character(character_id=character_id)
127
117
 
128
118
  logger.debug(
129
- f"({loop_count + 1}/{count_characters_to_fetch}) "
119
+ f"({loop_count}/{len(character_ids)}) "
130
120
  f"EveCharacter object created for: {character.character_name}"
131
121
  )
132
122
 
133
- if character.alliance_id is not None:
134
- tmp_character_ids["alliance"].append(character.alliance_id)
135
- else:
136
- tmp_character_ids["corporation"].append(character.corporation_id)
123
+ affiliation_key = "alliance" if character.alliance_id else "corporation"
124
+ tmp_affiliation_ids[affiliation_key].add(
125
+ character.alliance_id or character.corporation_id
126
+ )
137
127
 
138
- if with_affiliation is True:
139
- if len(tmp_character_ids["alliance"]) > 0:
140
- _create_alliance(tmp_character_ids["alliance"])
128
+ if with_affiliation:
129
+ if tmp_affiliation_ids["alliance"]:
130
+ _create_alliance(tmp_affiliation_ids["alliance"])
141
131
 
142
- if len(tmp_character_ids["corporation"]) > 0:
143
- _create_corporation(tmp_character_ids["corporation"])
132
+ if tmp_affiliation_ids["corporation"]:
133
+ _create_corporation(tmp_affiliation_ids["corporation"])
144
134
 
145
135
 
146
136
  def get_or_create_character(
@@ -157,7 +147,7 @@ def get_or_create_character(
157
147
  :rtype:
158
148
  """
159
149
 
160
- character_ids = set(character_ids)
150
+ character_ids = set(character_ids or [])
161
151
 
162
152
  logger.debug(
163
153
  msg=f"Getting information for {len(character_ids)} character(s) from AA …"
@@ -174,6 +164,4 @@ def get_or_create_character(
174
164
  if character_ids_to_fetch:
175
165
  _create_character(character_ids=character_ids_to_fetch, with_affiliation=True)
176
166
 
177
- characters = EveCharacter.objects.filter(character_id__in=character_ids)
178
-
179
- return characters
167
+ return EveCharacter.objects.filter(character_id__in=character_ids)
@@ -17,7 +17,7 @@ from app_utils.logging import LoggerAddTag
17
17
 
18
18
  # AA Intel Tool
19
19
  from aa_intel_tool import __title__
20
- from aa_intel_tool.constants import AA_INTEL_TOOL_STATIC_DIR
20
+ from aa_intel_tool.constants import APP_STATIC_DIR
21
21
 
22
22
  logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__)
23
23
 
@@ -25,17 +25,18 @@ logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__
25
25
  def calculate_integrity_hash(relative_file_path: str) -> str:
26
26
  """
27
27
  Calculates the integrity hash for a given static file
28
+
28
29
  :param self:
29
30
  :type self:
30
- :param relative_file_path: The file path relative to the `aa-intel-tool/aa_intel_tool/static/aa_intel_tool` folder
31
+ :param relative_file_path: The file path relative to the `{APP_NAME}/{PACKAGE_NAME}/static/{PACKAGE_NAME}` folder
31
32
  :type relative_file_path: str
32
33
  :return: The integrity hash
33
34
  :rtype: str
34
35
  """
35
36
 
36
- file_path = os.path.join(AA_INTEL_TOOL_STATIC_DIR, relative_file_path)
37
37
  integrity_hash = calculate_integrity(
38
- path=Path(file_path), algorithm=Algorithm.SHA512
38
+ path=Path(os.path.join(APP_STATIC_DIR, relative_file_path)),
39
+ algorithm=Algorithm.SHA512,
39
40
  )
40
41
 
41
42
  return integrity_hash
@@ -6,7 +6,7 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: AA Intel Tool 2.5.1\n"
8
8
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-intel-tool/issues\n"
9
- "POT-Creation-Date: 2025-01-31 11:24+0100\n"
9
+ "POT-Creation-Date: 2025-04-09 11:22+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-intel-tool/cs/>\n"
@@ -18,8 +18,8 @@ msgstr ""
18
18
  "X-Generator: Weblate 5.6.2\n"
19
19
 
20
20
  #: aa_intel_tool/__init__.py:9
21
- #: aa_intel_tool/templates/aa_intel_tool/base.html:6
22
- #: aa_intel_tool/templates/aa_intel_tool/base.html:10
21
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:7
22
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:11
23
23
  #: aa_intel_tool/templates/aa_intel_tool/views/index.html:8
24
24
  #: aa_intel_tool/templates/aa_intel_tool/views/scan/chatlist.html:5
25
25
  #: aa_intel_tool/templates/aa_intel_tool/views/scan/dscan.html:5
@@ -159,23 +159,23 @@ msgstr ""
159
159
  msgid "No suitable parser found. Input is not a supported intel type or malformed …"
160
160
  msgstr ""
161
161
 
162
- #: aa_intel_tool/parser/general.py:80
162
+ #: aa_intel_tool/parser/general.py:63
163
163
  msgid "No data to parse …"
164
164
  msgstr ""
165
165
 
166
- #: aa_intel_tool/parser/module/chatlist.py:65
166
+ #: aa_intel_tool/parser/module/chatlist.py:60
167
167
  msgid "Something went wrong while fetching the character information from ESI."
168
168
  msgstr ""
169
169
 
170
- #: aa_intel_tool/parser/module/chatlist.py:76
170
+ #: aa_intel_tool/parser/module/chatlist.py:67
171
171
  msgid "Character unknown to ESI."
172
172
  msgstr ""
173
173
 
174
- #: aa_intel_tool/parser/module/chatlist.py:278
174
+ #: aa_intel_tool/parser/module/chatlist.py:256
175
175
  msgid "The chat list module is currently disabled."
176
176
  msgstr ""
177
177
 
178
- #: aa_intel_tool/parser/module/chatlist.py:299
178
+ #: aa_intel_tool/parser/module/chatlist.py:275
179
179
  #, python-brace-format
180
180
  msgid "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilot per scan. Your list of pilots exceeds this limit."
181
181
  msgid_plural "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilots per scan. Your list of pilots exceeds this limit."
@@ -184,99 +184,31 @@ msgstr[1] ""
184
184
  msgstr[2] ""
185
185
  msgstr[3] ""
186
186
 
187
- #: aa_intel_tool/parser/module/dscan.py:350
187
+ #: aa_intel_tool/parser/module/dscan.py:362
188
188
  msgid "The D-Scan module is currently disabled."
189
189
  msgstr ""
190
190
 
191
- #: aa_intel_tool/parser/module/fleetcomp.py:187
191
+ #: aa_intel_tool/parser/module/fleetcomp.py:181
192
192
  msgid "The fleet composition module is currently disabled."
193
193
  msgstr ""
194
194
 
195
- #: aa_intel_tool/templates/aa_intel_tool/base.html:20
195
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:23
196
196
  msgid "Permalink successfully copied"
197
197
  msgstr ""
198
198
 
199
- #: aa_intel_tool/templates/aa_intel_tool/base.html:21
199
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:24
200
200
  msgid "Something went wrong. Nothing copied. Maybe your browser does not support this function."
201
201
  msgstr ""
202
202
 
203
- #: aa_intel_tool/templates/aa_intel_tool/base.html:22
203
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:25
204
204
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/alliances.html:4
205
205
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/corporations.html:4
206
206
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/pilots.html:3
207
207
  msgid "Unaffiliated / No Alliance"
208
208
  msgstr ""
209
209
 
210
- #: aa_intel_tool/templates/aa_intel_tool/base.html:23
211
- msgid "NPC Corp"
212
- msgstr ""
213
-
214
- #: aa_intel_tool/templates/aa_intel_tool/base.html:24
215
- msgctxt "Decimal separator"
216
- msgid "."
217
- msgstr ""
218
-
219
- #: aa_intel_tool/templates/aa_intel_tool/base.html:25
220
- msgctxt "Thousands separator"
221
- msgid ","
222
- msgstr ""
223
-
224
210
  #: aa_intel_tool/templates/aa_intel_tool/base.html:26
225
- msgid "No data available in this table"
226
- msgstr ""
227
-
228
- #: aa_intel_tool/templates/aa_intel_tool/base.html:27
229
- msgctxt "Keep _END_ as it is. It will be replaced by a number."
230
- msgid "Showing _END_ entries"
231
- msgstr ""
232
-
233
- #: aa_intel_tool/templates/aa_intel_tool/base.html:28
234
- msgctxt "Keep _MAX_ as it is. It will be replaced by a number."
235
- msgid "(filtered from _MAX_ total entries)"
236
- msgstr ""
237
-
238
- #: aa_intel_tool/templates/aa_intel_tool/base.html:29
239
- msgid "No records available"
240
- msgstr ""
241
-
242
- #: aa_intel_tool/templates/aa_intel_tool/base.html:30
243
- msgid "Loading …"
244
- msgstr ""
245
-
246
- #: aa_intel_tool/templates/aa_intel_tool/base.html:31
247
- msgid "Processing …"
248
- msgstr ""
249
-
250
- #: aa_intel_tool/templates/aa_intel_tool/base.html:32
251
- msgid "Nothing found, sorry …"
252
- msgstr ""
253
-
254
- #: aa_intel_tool/templates/aa_intel_tool/base.html:33
255
- msgid "Search …"
256
- msgstr ""
257
-
258
- #: aa_intel_tool/templates/aa_intel_tool/base.html:34
259
- msgid "First"
260
- msgstr ""
261
-
262
- #: aa_intel_tool/templates/aa_intel_tool/base.html:35
263
- msgid "Last"
264
- msgstr ""
265
-
266
- #: aa_intel_tool/templates/aa_intel_tool/base.html:36
267
- msgid "Next"
268
- msgstr ""
269
-
270
- #: aa_intel_tool/templates/aa_intel_tool/base.html:37
271
- msgid "Previous"
272
- msgstr ""
273
-
274
- #: aa_intel_tool/templates/aa_intel_tool/base.html:38
275
- msgid ": activate to sort column ascending"
276
- msgstr ""
277
-
278
- #: aa_intel_tool/templates/aa_intel_tool/base.html:39
279
- msgid ": activate to sort column descending"
211
+ msgid "NPC Corp"
280
212
  msgstr ""
281
213
 
282
214
  #: aa_intel_tool/templates/aa_intel_tool/partials/body/scan-retention-note.html:5
@@ -457,7 +389,7 @@ msgid "No data."
457
389
  msgstr ""
458
390
 
459
391
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/evetime.html:5
460
- msgid "Scan taken at (Eve time)"
392
+ msgid "Scan taken at (EVE time)"
461
393
  msgstr ""
462
394
 
463
395
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/fleetcomp/fleet-details.html:8
@@ -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
- # Peter Pfeufer <info@ppfeufer.de>, 2023, 2024.
4
+ # Peter Pfeufer <info@ppfeufer.de>, 2023, 2024, 2025.
5
5
  msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: AA Intel Tool 2.5.1\n"
8
8
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-intel-tool/issues\n"
9
- "POT-Creation-Date: 2025-01-31 11:24+0100\n"
10
- "PO-Revision-Date: 2024-08-12 02:38+0000\n"
9
+ "POT-Creation-Date: 2025-04-09 11:22+0200\n"
10
+ "PO-Revision-Date: 2025-03-25 13: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-intel-tool/de/>\n"
13
13
  "Language: de\n"
@@ -15,11 +15,11 @@ 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.6.2\n"
18
+ "X-Generator: Weblate 5.10.4\n"
19
19
 
20
20
  #: aa_intel_tool/__init__.py:9
21
- #: aa_intel_tool/templates/aa_intel_tool/base.html:6
22
- #: aa_intel_tool/templates/aa_intel_tool/base.html:10
21
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:7
22
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:11
23
23
  #: aa_intel_tool/templates/aa_intel_tool/views/index.html:8
24
24
  #: aa_intel_tool/templates/aa_intel_tool/views/scan/chatlist.html:5
25
25
  #: aa_intel_tool/templates/aa_intel_tool/views/scan/dscan.html:5
@@ -159,124 +159,56 @@ msgstr "Scandaten"
159
159
  msgid "No suitable parser found. Input is not a supported intel type or malformed …"
160
160
  msgstr "Kein passender Parser gefunden. Die Eingabe ist kein unterstützter Inteltyp oder fehlerhaft …"
161
161
 
162
- #: aa_intel_tool/parser/general.py:80
162
+ #: aa_intel_tool/parser/general.py:63
163
163
  msgid "No data to parse …"
164
164
  msgstr "Keine Daten zum Parsen …"
165
165
 
166
- #: aa_intel_tool/parser/module/chatlist.py:65
166
+ #: aa_intel_tool/parser/module/chatlist.py:60
167
167
  msgid "Something went wrong while fetching the character information from ESI."
168
168
  msgstr "Beim Abrufen der Charakterinformationen von ESI ist ein Fehler aufgetreten."
169
169
 
170
- #: aa_intel_tool/parser/module/chatlist.py:76
170
+ #: aa_intel_tool/parser/module/chatlist.py:67
171
171
  msgid "Character unknown to ESI."
172
172
  msgstr "Charakter ist in ESI nicht bekannt."
173
173
 
174
- #: aa_intel_tool/parser/module/chatlist.py:278
174
+ #: aa_intel_tool/parser/module/chatlist.py:256
175
175
  msgid "The chat list module is currently disabled."
176
176
  msgstr "Das Chatlistenmodul ist derzeit deaktiviert."
177
177
 
178
- #: aa_intel_tool/parser/module/chatlist.py:299
178
+ #: aa_intel_tool/parser/module/chatlist.py:275
179
179
  #, python-brace-format
180
180
  msgid "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilot per scan. Your list of pilots exceeds this limit."
181
181
  msgid_plural "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilots per scan. Your list of pilots exceeds this limit."
182
182
  msgstr[0] "Chatscans sind derzeit auf maximal {max_allowed_pilots} Pilot pro Scan beschränkt. Deine Pilotenliste überschreitet diese Grenze."
183
183
  msgstr[1] "Chatscans sind derzeit auf maximal {max_allowed_pilots} Piloten pro Scan beschränkt. Deine Pilotenliste überschreitet diese Grenze."
184
184
 
185
- #: aa_intel_tool/parser/module/dscan.py:350
185
+ #: aa_intel_tool/parser/module/dscan.py:362
186
186
  msgid "The D-Scan module is currently disabled."
187
187
  msgstr "Das D-Scan-Modul ist derzeit deaktiviert."
188
188
 
189
- #: aa_intel_tool/parser/module/fleetcomp.py:187
189
+ #: aa_intel_tool/parser/module/fleetcomp.py:181
190
190
  msgid "The fleet composition module is currently disabled."
191
191
  msgstr "Das Flottenzusammensetzungsmodul ist derzeit deaktiviert."
192
192
 
193
- #: aa_intel_tool/templates/aa_intel_tool/base.html:20
193
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:23
194
194
  msgid "Permalink successfully copied"
195
195
  msgstr "Permalink erfolgreich kopiert"
196
196
 
197
- #: aa_intel_tool/templates/aa_intel_tool/base.html:21
197
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:24
198
198
  msgid "Something went wrong. Nothing copied. Maybe your browser does not support this function."
199
199
  msgstr "Etwas ist schief gelaufen. Nichts kopiert. Möglicherweise unterstützt Dein Browser diese Funktion nicht."
200
200
 
201
- #: aa_intel_tool/templates/aa_intel_tool/base.html:22
201
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:25
202
202
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/alliances.html:4
203
203
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/corporations.html:4
204
204
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/pilots.html:3
205
205
  msgid "Unaffiliated / No Alliance"
206
206
  msgstr "Unabhängig / Keine Allianz"
207
207
 
208
- #: aa_intel_tool/templates/aa_intel_tool/base.html:23
208
+ #: aa_intel_tool/templates/aa_intel_tool/base.html:26
209
209
  msgid "NPC Corp"
210
210
  msgstr "NPC Corp"
211
211
 
212
- #: aa_intel_tool/templates/aa_intel_tool/base.html:24
213
- msgctxt "Decimal separator"
214
- msgid "."
215
- msgstr ","
216
-
217
- #: aa_intel_tool/templates/aa_intel_tool/base.html:25
218
- msgctxt "Thousands separator"
219
- msgid ","
220
- msgstr "."
221
-
222
- #: aa_intel_tool/templates/aa_intel_tool/base.html:26
223
- msgid "No data available in this table"
224
- msgstr "In dieser Tabelle sind keine Daten verfügbar"
225
-
226
- #: aa_intel_tool/templates/aa_intel_tool/base.html:27
227
- msgctxt "Keep _END_ as it is. It will be replaced by a number."
228
- msgid "Showing _END_ entries"
229
- msgstr "Zeige _END_ Einträge"
230
-
231
- #: aa_intel_tool/templates/aa_intel_tool/base.html:28
232
- msgctxt "Keep _MAX_ as it is. It will be replaced by a number."
233
- msgid "(filtered from _MAX_ total entries)"
234
- msgstr "(gefiltert von _MAX_ Einträgen)"
235
-
236
- #: aa_intel_tool/templates/aa_intel_tool/base.html:29
237
- msgid "No records available"
238
- msgstr "Keine Datensätze vorhanden"
239
-
240
- #: aa_intel_tool/templates/aa_intel_tool/base.html:30
241
- msgid "Loading …"
242
- msgstr "Lade …"
243
-
244
- #: aa_intel_tool/templates/aa_intel_tool/base.html:31
245
- msgid "Processing …"
246
- msgstr "Verarbeite …"
247
-
248
- #: aa_intel_tool/templates/aa_intel_tool/base.html:32
249
- msgid "Nothing found, sorry …"
250
- msgstr "Nichts gefunden, tut mir leid …"
251
-
252
- #: aa_intel_tool/templates/aa_intel_tool/base.html:33
253
- msgid "Search …"
254
- msgstr "Suche …"
255
-
256
- #: aa_intel_tool/templates/aa_intel_tool/base.html:34
257
- msgid "First"
258
- msgstr "Erster"
259
-
260
- #: aa_intel_tool/templates/aa_intel_tool/base.html:35
261
- msgid "Last"
262
- msgstr "Letzter"
263
-
264
- #: aa_intel_tool/templates/aa_intel_tool/base.html:36
265
- msgid "Next"
266
- msgstr "Nächster"
267
-
268
- #: aa_intel_tool/templates/aa_intel_tool/base.html:37
269
- msgid "Previous"
270
- msgstr "Vorheriger"
271
-
272
- #: aa_intel_tool/templates/aa_intel_tool/base.html:38
273
- msgid ": activate to sort column ascending"
274
- msgstr ": aktivieren, um die Spalte aufsteigend zu sortieren"
275
-
276
- #: aa_intel_tool/templates/aa_intel_tool/base.html:39
277
- msgid ": activate to sort column descending"
278
- msgstr ": aktivieren, um die Spalte absteigend zu sortieren"
279
-
280
212
  #: aa_intel_tool/templates/aa_intel_tool/partials/body/scan-retention-note.html:5
281
213
  #, python-format
282
214
  msgid "Scans will be deleted after %(scan_retention_time)s day."
@@ -451,8 +383,8 @@ msgid "No data."
451
383
  msgstr "Keine Daten."
452
384
 
453
385
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/evetime.html:5
454
- msgid "Scan taken at (Eve time)"
455
- msgstr "Scan aufgenommen um (Eve Zeit)"
386
+ msgid "Scan taken at (EVE time)"
387
+ msgstr "Scan aufgenommen um (EVE Zeit)"
456
388
 
457
389
  #: aa_intel_tool/templates/aa_intel_tool/partials/scan/fleetcomp/fleet-details.html:8
458
390
  msgid "Fleet details"
@@ -490,6 +422,58 @@ msgstr "(Systemfehler) Es ist etwas Unerwartetes passiert."
490
422
  msgid "The scan you were looking for could not be found."
491
423
  msgstr "Der gesuchte Scan konnte nicht gefunden werden."
492
424
 
425
+ #~ msgctxt "Decimal separator"
426
+ #~ msgid "."
427
+ #~ msgstr ","
428
+
429
+ #~ msgctxt "Thousands separator"
430
+ #~ msgid ","
431
+ #~ msgstr "."
432
+
433
+ #~ msgid "No data available in this table"
434
+ #~ msgstr "In dieser Tabelle sind keine Daten verfügbar"
435
+
436
+ #~ msgctxt "Keep _END_ as it is. It will be replaced by a number."
437
+ #~ msgid "Showing _END_ entries"
438
+ #~ msgstr "Zeige _END_ Einträge"
439
+
440
+ #~ msgctxt "Keep _MAX_ as it is. It will be replaced by a number."
441
+ #~ msgid "(filtered from _MAX_ total entries)"
442
+ #~ msgstr "(gefiltert von _MAX_ Einträgen)"
443
+
444
+ #~ msgid "No records available"
445
+ #~ msgstr "Keine Datensätze vorhanden"
446
+
447
+ #~ msgid "Loading …"
448
+ #~ msgstr "Lade …"
449
+
450
+ #~ msgid "Processing …"
451
+ #~ msgstr "Verarbeite …"
452
+
453
+ #~ msgid "Nothing found, sorry …"
454
+ #~ msgstr "Nichts gefunden, tut mir leid …"
455
+
456
+ #~ msgid "Search …"
457
+ #~ msgstr "Suche …"
458
+
459
+ #~ msgid "First"
460
+ #~ msgstr "Erster"
461
+
462
+ #~ msgid "Last"
463
+ #~ msgstr "Letzter"
464
+
465
+ #~ msgid "Next"
466
+ #~ msgstr "Nächster"
467
+
468
+ #~ msgid "Previous"
469
+ #~ msgstr "Vorheriger"
470
+
471
+ #~ msgid ": activate to sort column ascending"
472
+ #~ msgstr ": aktivieren, um die Spalte aufsteigend zu sortieren"
473
+
474
+ #~ msgid ": activate to sort column descending"
475
+ #~ msgstr ": aktivieren, um die Spalte absteigend zu sortieren"
476
+
493
477
  #~ msgctxt "Keep _MENU_ as it is. It will be replaced by an HTML construct."
494
478
  #~ msgid "Show _MENU_"
495
479
  #~ msgstr "Zeige _MENU_"