aa-structures 2.7.0__py3-none-any.whl → 2.8.0__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.
- {aa_structures-2.7.0.dist-info → aa_structures-2.8.0.dist-info}/METADATA +10 -12
- {aa_structures-2.7.0.dist-info → aa_structures-2.8.0.dist-info}/RECORD +21 -21
- structures/__init__.py +1 -1
- structures/locale/de/LC_MESSAGES/django.mo +0 -0
- structures/locale/de/LC_MESSAGES/django.po +43 -62
- structures/locale/es/LC_MESSAGES/django.po +42 -63
- structures/locale/ko_KR/LC_MESSAGES/django.po +41 -61
- structures/locale/ru/LC_MESSAGES/django.mo +0 -0
- structures/locale/ru/LC_MESSAGES/django.po +106 -139
- structures/locale/uk/LC_MESSAGES/django.po +42 -65
- structures/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- structures/locale/zh_Hans/LC_MESSAGES/django.po +41 -61
- structures/models/notifications.py +2 -0
- structures/tests/models/test_notifications_1.py +2 -1
- structures/tests/models/test_notifications_2.py +2 -1
- structures/tests/test_admin.py +12 -6
- structures/tests/test_tasks.py +2 -1
- structures/webhooks/models.py +1 -0
- structures/webhooks/tests/test_core.py +4 -2
- {aa_structures-2.7.0.dist-info → aa_structures-2.8.0.dist-info}/LICENSE +0 -0
- {aa_structures-2.7.0.dist-info → aa_structures-2.8.0.dist-info}/WHEEL +0 -0
@@ -10,16 +10,12 @@ msgstr ""
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
11
11
|
"POT-Creation-Date: 2023-11-15 23:09+0100\n"
|
12
12
|
"PO-Revision-Date: 2020-03-09 19:25+0000\n"
|
13
|
-
"Language-Team: Ukrainian (https://app.transifex.com/kalkoken-apps/"
|
14
|
-
"teams/107978/uk/)\n"
|
15
|
-
"Language: uk\n"
|
13
|
+
"Language-Team: Ukrainian (https://app.transifex.com/kalkoken-apps/teams/107978/uk/)\n"
|
16
14
|
"MIME-Version: 1.0\n"
|
17
15
|
"Content-Type: text/plain; charset=UTF-8\n"
|
18
16
|
"Content-Transfer-Encoding: 8bit\n"
|
19
|
-
"
|
20
|
-
"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % "
|
21
|
-
"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || "
|
22
|
-
"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
|
17
|
+
"Language: uk\n"
|
18
|
+
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
|
23
19
|
|
24
20
|
#: admin.py:64 admin.py:920 models/notifications.py:145 models/owners.py:219
|
25
21
|
#: models/owners.py:1307 models/structures_1.py:320
|
@@ -61,8 +57,8 @@ msgstr ""
|
|
61
57
|
#: admin.py:140
|
62
58
|
msgid ""
|
63
59
|
"Timing configuration for sending fuel notifications. Note that the first "
|
64
|
-
"notification will be sent at the exact start hour, and the last notification
|
65
|
-
"will be sent one repeat before the end hour."
|
60
|
+
"notification will be sent at the exact start hour, and the last notification"
|
61
|
+
" will be sent one repeat before the end hour."
|
66
62
|
msgstr ""
|
67
63
|
|
68
64
|
#: admin.py:161 models/notifications.py:851
|
@@ -439,7 +435,8 @@ msgstr ""
|
|
439
435
|
#, python-format
|
440
436
|
msgid ""
|
441
437
|
"Maintenance bill for Infrastructure Hub in %(solar_system)s expires at "
|
442
|
-
"%(due_date)s, if not paid in time this Infrastructure Hub will self-
|
438
|
+
"%(due_date)s, if not paid in time this Infrastructure Hub will self-"
|
439
|
+
"destruct."
|
443
440
|
msgstr ""
|
444
441
|
|
445
442
|
#: core/notification_embeds/billing_embeds.py:84
|
@@ -474,8 +471,7 @@ msgstr ""
|
|
474
471
|
#: core/notification_embeds/character_embeds.py:66
|
475
472
|
#, python-format
|
476
473
|
msgid ""
|
477
|
-
"%(character_name)s has been invited to join %(corporation_name)s by "
|
478
|
-
"%(inviting_character)s.\n"
|
474
|
+
"%(character_name)s has been invited to join %(corporation_name)s by %(inviting_character)s.\n"
|
479
475
|
"Application:\n"
|
480
476
|
"> %(application_text)s"
|
481
477
|
msgstr ""
|
@@ -502,8 +498,7 @@ msgstr ""
|
|
502
498
|
#: core/notification_embeds/character_embeds.py:108
|
503
499
|
#, python-format
|
504
500
|
msgid ""
|
505
|
-
"%(character_name)s withdrew his/her application to join "
|
506
|
-
"%(corporation_name)s:\n"
|
501
|
+
"%(character_name)s withdrew his/her application to join %(corporation_name)s:\n"
|
507
502
|
"> %(application_text)s"
|
508
503
|
msgstr ""
|
509
504
|
|
@@ -552,11 +547,8 @@ msgstr ""
|
|
552
547
|
#: core/notification_embeds/moonmining_embeds.py:72
|
553
548
|
#, python-format
|
554
549
|
msgid ""
|
555
|
-
"A moon mining extraction has been started for %(structure_name)s at %(moon)s "
|
556
|
-
"
|
557
|
-
"%(character)s.\n"
|
558
|
-
"The chunk will be ready on location at %(ready_time)s, and will fracture "
|
559
|
-
"automatically on %(auto_time)s.\n"
|
550
|
+
"A moon mining extraction has been started for %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s. Extraction was started by %(character)s.\n"
|
551
|
+
"The chunk will be ready on location at %(ready_time)s, and will fracture automatically on %(auto_time)s.\n"
|
560
552
|
"\n"
|
561
553
|
"%(ore_text)s"
|
562
554
|
msgstr ""
|
@@ -568,9 +560,7 @@ msgstr ""
|
|
568
560
|
#: core/notification_embeds/moonmining_embeds.py:98
|
569
561
|
#, python-format
|
570
562
|
msgid ""
|
571
|
-
"The extraction for %(structure_name)s at %(moon)s in %(solar_system)s "
|
572
|
-
"belonging to %(owner_link)s is finished and the chunk is ready to be shot "
|
573
|
-
"at.\n"
|
563
|
+
"The extraction for %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s is finished and the chunk is ready to be shot at.\n"
|
574
564
|
"The chunk will automatically fracture on %(auto_time)s.\n"
|
575
565
|
"\n"
|
576
566
|
"%(ore_text)s"
|
@@ -583,9 +573,7 @@ msgstr ""
|
|
583
573
|
#: core/notification_embeds/moonmining_embeds.py:120
|
584
574
|
#, python-format
|
585
575
|
msgid ""
|
586
|
-
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s "
|
587
|
-
"belonging to %(owner_link)s has automatically been fired and the moon "
|
588
|
-
"products are ready to be harvested.\n"
|
576
|
+
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s has automatically been fired and the moon products are ready to be harvested.\n"
|
589
577
|
"\n"
|
590
578
|
"%(ore_text)s"
|
591
579
|
msgstr ""
|
@@ -605,8 +593,8 @@ msgstr ""
|
|
605
593
|
#: core/notification_embeds/moonmining_embeds.py:146
|
606
594
|
#, python-format
|
607
595
|
msgid ""
|
608
|
-
"An ongoing extraction for %(structure_name)s at %(moon)s in %(solar_system)s
|
609
|
-
"belonging to %(owner_link)s has been cancelled by %(character)s."
|
596
|
+
"An ongoing extraction for %(structure_name)s at %(moon)s in %(solar_system)s"
|
597
|
+
" belonging to %(owner_link)s has been cancelled by %(character)s."
|
610
598
|
msgstr ""
|
611
599
|
|
612
600
|
#: core/notification_embeds/moonmining_embeds.py:165
|
@@ -616,9 +604,7 @@ msgstr ""
|
|
616
604
|
#: core/notification_embeds/moonmining_embeds.py:167
|
617
605
|
#, python-format
|
618
606
|
msgid ""
|
619
|
-
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s "
|
620
|
-
"belonging to %(owner_link)s has been fired by %(character)s and the moon "
|
621
|
-
"products are ready to be harvested.\n"
|
607
|
+
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s has been fired by %(character)s and the moon products are ready to be harvested.\n"
|
622
608
|
"\n"
|
623
609
|
"%(ore_text)s"
|
624
610
|
msgstr ""
|
@@ -680,8 +666,8 @@ msgstr ""
|
|
680
666
|
#: core/notification_embeds/sov_embeds.py:104
|
681
667
|
#, python-format
|
682
668
|
msgid ""
|
683
|
-
"DED now officially acknowledges that your member corporation %(corporation)s
|
684
|
-
"has claimed sovereignty on behalf of %(alliance)s in %(solar_system)s."
|
669
|
+
"DED now officially acknowledges that your member corporation %(corporation)s"
|
670
|
+
" has claimed sovereignty on behalf of %(alliance)s in %(solar_system)s."
|
685
671
|
msgstr ""
|
686
672
|
|
687
673
|
#: core/notification_embeds/sov_embeds.py:120
|
@@ -915,8 +901,8 @@ msgstr ""
|
|
915
901
|
#: core/notification_embeds/tower_embeds.py:41
|
916
902
|
#, python-format
|
917
903
|
msgid ""
|
918
|
-
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to
|
919
|
-
"%(owner_link)s"
|
904
|
+
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to"
|
905
|
+
" %(owner_link)s"
|
920
906
|
msgstr ""
|
921
907
|
|
922
908
|
#: core/notification_embeds/tower_embeds.py:61
|
@@ -941,8 +927,8 @@ msgstr ""
|
|
941
927
|
#: core/notification_embeds/tower_embeds.py:128
|
942
928
|
#, python-format
|
943
929
|
msgid ""
|
944
|
-
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to
|
945
|
-
"%(owner_link)s "
|
930
|
+
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to"
|
931
|
+
" %(owner_link)s "
|
946
932
|
msgstr ""
|
947
933
|
|
948
934
|
#: core/notification_embeds/tower_embeds.py:141
|
@@ -974,10 +960,8 @@ msgstr ""
|
|
974
960
|
#: core/notification_embeds/war_embeds.py:63
|
975
961
|
#, python-format
|
976
962
|
msgid ""
|
977
|
-
"There has been a development in the war between %(declared_by)s and "
|
978
|
-
"%(alliance)s
|
979
|
-
"%(against)s is no longer a member of %(alliance)s, and therefore a new war "
|
980
|
-
"between %(declared_by)s and %(against)s has begun."
|
963
|
+
"There has been a development in the war between %(declared_by)s and %(alliance)s.\n"
|
964
|
+
"%(against)s is no longer a member of %(alliance)s, and therefore a new war between %(declared_by)s and %(against)s has begun."
|
981
965
|
msgstr ""
|
982
966
|
|
983
967
|
#: core/notification_embeds/war_embeds.py:78
|
@@ -988,10 +972,8 @@ msgstr ""
|
|
988
972
|
#: core/notification_embeds/war_embeds.py:83
|
989
973
|
#, python-format
|
990
974
|
msgid ""
|
991
|
-
"%(declared_by)s has declared war on %(against)s with %(war_hq)s as the "
|
992
|
-
"
|
993
|
-
"Within %(delay_hours)s hours fighting can legally occur between those "
|
994
|
-
"involved."
|
975
|
+
"%(declared_by)s has declared war on %(against)s with %(war_hq)s as the designated war headquarters.\n"
|
976
|
+
"Within %(delay_hours)s hours fighting can legally occur between those involved."
|
995
977
|
msgstr ""
|
996
978
|
|
997
979
|
#: core/notification_embeds/war_embeds.py:102
|
@@ -1014,10 +996,8 @@ msgstr ""
|
|
1014
996
|
#: core/notification_embeds/war_embeds.py:125
|
1015
997
|
#, python-format
|
1016
998
|
msgid ""
|
1017
|
-
"The war between %(declared_by)s and %(against)s has been retracted by "
|
1018
|
-
"CONCORD
|
1019
|
-
"After %(end_date)s CONCORD will again respond to any hostilities between "
|
1020
|
-
"those involved with full force."
|
999
|
+
"The war between %(declared_by)s and %(against)s has been retracted by CONCORD.\n"
|
1000
|
+
"After %(end_date)s CONCORD will again respond to any hostilities between those involved with full force."
|
1021
1001
|
msgstr ""
|
1022
1002
|
|
1023
1003
|
#: core/notification_embeds/war_embeds.py:141
|
@@ -1038,11 +1018,8 @@ msgstr ""
|
|
1038
1018
|
|
1039
1019
|
#: core/notification_embeds/war_embeds.py:159
|
1040
1020
|
msgid ""
|
1041
|
-
"Your corporation or alliance is **no longer eligible** to participate in "
|
1042
|
-
"formal war
|
1043
|
-
"Neither your corporation nor any of the corporations in your alliance own a "
|
1044
|
-
"structure deployed in space at this time. If your corporation or alliance is "
|
1045
|
-
"currently involved in a formal war, that war will end in 24 hours."
|
1021
|
+
"Your corporation or alliance is **no longer eligible** to participate in formal war declarations.\n"
|
1022
|
+
"Neither your corporation nor any of the corporations in your alliance own a structure deployed in space at this time. If your corporation or alliance is currently involved in a formal war, that war will end in 24 hours."
|
1046
1023
|
msgstr ""
|
1047
1024
|
|
1048
1025
|
#: core/notification_embeds/war_embeds.py:176
|
@@ -1054,8 +1031,8 @@ msgstr ""
|
|
1054
1031
|
#, python-format
|
1055
1032
|
msgid ""
|
1056
1033
|
"%s has offered to end the war with %s in the exchange for %s ISK. If "
|
1057
|
-
"accepted, the war will end in 24 hours and your organizations will be unable
|
1058
|
-
"to declare new wars against each other for the next 2 weeks."
|
1034
|
+
"accepted, the war will end in 24 hours and your organizations will be unable"
|
1035
|
+
" to declare new wars against each other for the next 2 weeks."
|
1059
1036
|
msgstr ""
|
1060
1037
|
|
1061
1038
|
#: core/notification_embeds/war_embeds.py:188
|
@@ -1478,8 +1455,8 @@ msgstr ""
|
|
1478
1455
|
|
1479
1456
|
#: models/notifications.py:710
|
1480
1457
|
msgid ""
|
1481
|
-
"Option to ping every member of the channel. This setting can be overruled by
|
1482
|
-
"the respective owner or webhook configuration"
|
1458
|
+
"Option to ping every member of the channel. This setting can be overruled by"
|
1459
|
+
" the respective owner or webhook configuration"
|
1483
1460
|
msgstr ""
|
1484
1461
|
|
1485
1462
|
#: models/notifications.py:721
|
@@ -2013,8 +1990,8 @@ msgstr ""
|
|
2013
1990
|
#: models/structures_1.py:330
|
2014
1991
|
msgid ""
|
2015
1992
|
"The average hour of day that determines the time +/- some hours when the "
|
2016
|
-
"structure will randomly exit its reinforcement periods and become vulnerable
|
2017
|
-
"to attack against its armor and/or hull. "
|
1993
|
+
"structure will randomly exit its reinforcement periods and become vulnerable"
|
1994
|
+
" to attack against its armor and/or hull. "
|
2018
1995
|
msgstr ""
|
2019
1996
|
|
2020
1997
|
#: models/structures_1.py:339
|
@@ -2079,8 +2056,8 @@ msgstr ""
|
|
2079
2056
|
|
2080
2057
|
#: models/structures_1.py:399
|
2081
2058
|
msgid ""
|
2082
|
-
"Webhooks for sending notifications to. If any webhook is enabled, these will
|
2083
|
-
"be used instead of the webhooks defined for the respective owner. If no "
|
2059
|
+
"Webhooks for sending notifications to. If any webhook is enabled, these will"
|
2060
|
+
" be used instead of the webhooks defined for the respective owner. If no "
|
2084
2061
|
"webhook is enabled the owner's setting will be used. "
|
2085
2062
|
msgstr ""
|
2086
2063
|
|
@@ -2599,8 +2576,8 @@ msgstr ""
|
|
2599
2576
|
|
2600
2577
|
#: templates/structures/public.html:49
|
2601
2578
|
msgid ""
|
2602
|
-
"Non corporation or alliance members will be assumed to have neutral standing
|
2603
|
-
"with the owner"
|
2579
|
+
"Non corporation or alliance members will be assumed to have neutral standing"
|
2580
|
+
" with the owner"
|
2604
2581
|
msgstr ""
|
2605
2582
|
|
2606
2583
|
#: templates/structures/public.html:50 templates/structures/structures.html:96
|
@@ -2687,8 +2664,8 @@ msgstr ""
|
|
2687
2664
|
#: views/structures.py:602
|
2688
2665
|
#, python-format
|
2689
2666
|
msgid ""
|
2690
|
-
"%(corporation)s has been added with %(character)s as sync character. We have
|
2691
|
-
"started fetching structures and notifications for this corporation and you "
|
2667
|
+
"%(corporation)s has been added with %(character)s as sync character. We have"
|
2668
|
+
" started fetching structures and notifications for this corporation and you "
|
2692
2669
|
"will receive a report once the process is finished."
|
2693
2670
|
msgstr ""
|
2694
2671
|
|
Binary file
|
@@ -15,12 +15,11 @@ msgstr ""
|
|
15
15
|
"POT-Creation-Date: 2023-11-15 23:09+0100\n"
|
16
16
|
"PO-Revision-Date: 2020-03-09 19:25+0000\n"
|
17
17
|
"Last-Translator: Erik Kalkoken <erik.kalkoken@gmail.com>, 2020\n"
|
18
|
-
"Language-Team: Chinese (China) (https://app.transifex.com/kalkoken-apps/"
|
19
|
-
"teams/107978/zh_CN/)\n"
|
20
|
-
"Language: zh_CN\n"
|
18
|
+
"Language-Team: Chinese (China) (https://app.transifex.com/kalkoken-apps/teams/107978/zh_CN/)\n"
|
21
19
|
"MIME-Version: 1.0\n"
|
22
20
|
"Content-Type: text/plain; charset=UTF-8\n"
|
23
21
|
"Content-Transfer-Encoding: 8bit\n"
|
22
|
+
"Language: zh_CN\n"
|
24
23
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
25
24
|
|
26
25
|
#: admin.py:64 admin.py:920 models/notifications.py:145 models/owners.py:219
|
@@ -63,8 +62,8 @@ msgstr ""
|
|
63
62
|
#: admin.py:140
|
64
63
|
msgid ""
|
65
64
|
"Timing configuration for sending fuel notifications. Note that the first "
|
66
|
-
"notification will be sent at the exact start hour, and the last notification
|
67
|
-
"will be sent one repeat before the end hour."
|
65
|
+
"notification will be sent at the exact start hour, and the last notification"
|
66
|
+
" will be sent one repeat before the end hour."
|
68
67
|
msgstr ""
|
69
68
|
|
70
69
|
#: admin.py:161 models/notifications.py:851
|
@@ -441,7 +440,8 @@ msgstr ""
|
|
441
440
|
#, python-format
|
442
441
|
msgid ""
|
443
442
|
"Maintenance bill for Infrastructure Hub in %(solar_system)s expires at "
|
444
|
-
"%(due_date)s, if not paid in time this Infrastructure Hub will self-
|
443
|
+
"%(due_date)s, if not paid in time this Infrastructure Hub will self-"
|
444
|
+
"destruct."
|
445
445
|
msgstr ""
|
446
446
|
|
447
447
|
#: core/notification_embeds/billing_embeds.py:84
|
@@ -476,8 +476,7 @@ msgstr ""
|
|
476
476
|
#: core/notification_embeds/character_embeds.py:66
|
477
477
|
#, python-format
|
478
478
|
msgid ""
|
479
|
-
"%(character_name)s has been invited to join %(corporation_name)s by "
|
480
|
-
"%(inviting_character)s.\n"
|
479
|
+
"%(character_name)s has been invited to join %(corporation_name)s by %(inviting_character)s.\n"
|
481
480
|
"Application:\n"
|
482
481
|
"> %(application_text)s"
|
483
482
|
msgstr ""
|
@@ -504,8 +503,7 @@ msgstr ""
|
|
504
503
|
#: core/notification_embeds/character_embeds.py:108
|
505
504
|
#, python-format
|
506
505
|
msgid ""
|
507
|
-
"%(character_name)s withdrew his/her application to join "
|
508
|
-
"%(corporation_name)s:\n"
|
506
|
+
"%(character_name)s withdrew his/her application to join %(corporation_name)s:\n"
|
509
507
|
"> %(application_text)s"
|
510
508
|
msgstr ""
|
511
509
|
|
@@ -554,11 +552,8 @@ msgstr "月矿采集开始"
|
|
554
552
|
#: core/notification_embeds/moonmining_embeds.py:72
|
555
553
|
#, python-format
|
556
554
|
msgid ""
|
557
|
-
"A moon mining extraction has been started for %(structure_name)s at %(moon)s "
|
558
|
-
"
|
559
|
-
"%(character)s.\n"
|
560
|
-
"The chunk will be ready on location at %(ready_time)s, and will fracture "
|
561
|
-
"automatically on %(auto_time)s.\n"
|
555
|
+
"A moon mining extraction has been started for %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s. Extraction was started by %(character)s.\n"
|
556
|
+
"The chunk will be ready on location at %(ready_time)s, and will fracture automatically on %(auto_time)s.\n"
|
562
557
|
"\n"
|
563
558
|
"%(ore_text)s"
|
564
559
|
msgstr ""
|
@@ -570,9 +565,7 @@ msgstr ""
|
|
570
565
|
#: core/notification_embeds/moonmining_embeds.py:98
|
571
566
|
#, python-format
|
572
567
|
msgid ""
|
573
|
-
"The extraction for %(structure_name)s at %(moon)s in %(solar_system)s "
|
574
|
-
"belonging to %(owner_link)s is finished and the chunk is ready to be shot "
|
575
|
-
"at.\n"
|
568
|
+
"The extraction for %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s is finished and the chunk is ready to be shot at.\n"
|
576
569
|
"The chunk will automatically fracture on %(auto_time)s.\n"
|
577
570
|
"\n"
|
578
571
|
"%(ore_text)s"
|
@@ -585,9 +578,7 @@ msgstr ""
|
|
585
578
|
#: core/notification_embeds/moonmining_embeds.py:120
|
586
579
|
#, python-format
|
587
580
|
msgid ""
|
588
|
-
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s "
|
589
|
-
"belonging to %(owner_link)s has automatically been fired and the moon "
|
590
|
-
"products are ready to be harvested.\n"
|
581
|
+
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s has automatically been fired and the moon products are ready to be harvested.\n"
|
591
582
|
"\n"
|
592
583
|
"%(ore_text)s"
|
593
584
|
msgstr ""
|
@@ -607,8 +598,8 @@ msgstr ""
|
|
607
598
|
#: core/notification_embeds/moonmining_embeds.py:146
|
608
599
|
#, python-format
|
609
600
|
msgid ""
|
610
|
-
"An ongoing extraction for %(structure_name)s at %(moon)s in %(solar_system)s
|
611
|
-
"belonging to %(owner_link)s has been cancelled by %(character)s."
|
601
|
+
"An ongoing extraction for %(structure_name)s at %(moon)s in %(solar_system)s"
|
602
|
+
" belonging to %(owner_link)s has been cancelled by %(character)s."
|
612
603
|
msgstr ""
|
613
604
|
|
614
605
|
#: core/notification_embeds/moonmining_embeds.py:165
|
@@ -618,9 +609,7 @@ msgstr ""
|
|
618
609
|
#: core/notification_embeds/moonmining_embeds.py:167
|
619
610
|
#, python-format
|
620
611
|
msgid ""
|
621
|
-
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s "
|
622
|
-
"belonging to %(owner_link)s has been fired by %(character)s and the moon "
|
623
|
-
"products are ready to be harvested.\n"
|
612
|
+
"The moon drill fitted to %(structure_name)s at %(moon)s in %(solar_system)s belonging to %(owner_link)s has been fired by %(character)s and the moon products are ready to be harvested.\n"
|
624
613
|
"\n"
|
625
614
|
"%(ore_text)s"
|
626
615
|
msgstr ""
|
@@ -682,8 +671,8 @@ msgstr ""
|
|
682
671
|
#: core/notification_embeds/sov_embeds.py:104
|
683
672
|
#, python-format
|
684
673
|
msgid ""
|
685
|
-
"DED now officially acknowledges that your member corporation %(corporation)s
|
686
|
-
"has claimed sovereignty on behalf of %(alliance)s in %(solar_system)s."
|
674
|
+
"DED now officially acknowledges that your member corporation %(corporation)s"
|
675
|
+
" has claimed sovereignty on behalf of %(alliance)s in %(solar_system)s."
|
687
676
|
msgstr ""
|
688
677
|
|
689
678
|
#: core/notification_embeds/sov_embeds.py:120
|
@@ -917,8 +906,8 @@ msgstr ""
|
|
917
906
|
#: core/notification_embeds/tower_embeds.py:41
|
918
907
|
#, python-format
|
919
908
|
msgid ""
|
920
|
-
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to
|
921
|
-
"%(owner_link)s"
|
909
|
+
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to"
|
910
|
+
" %(owner_link)s"
|
922
911
|
msgstr ""
|
923
912
|
|
924
913
|
#: core/notification_embeds/tower_embeds.py:61
|
@@ -943,8 +932,8 @@ msgstr ""
|
|
943
932
|
#: core/notification_embeds/tower_embeds.py:128
|
944
933
|
#, python-format
|
945
934
|
msgid ""
|
946
|
-
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to
|
947
|
-
"%(owner_link)s "
|
935
|
+
"The starbase %(structure_name)s at %(moon)s in %(solar_system)s belonging to"
|
936
|
+
" %(owner_link)s "
|
948
937
|
msgstr ""
|
949
938
|
|
950
939
|
#: core/notification_embeds/tower_embeds.py:141
|
@@ -976,10 +965,8 @@ msgstr ""
|
|
976
965
|
#: core/notification_embeds/war_embeds.py:63
|
977
966
|
#, python-format
|
978
967
|
msgid ""
|
979
|
-
"There has been a development in the war between %(declared_by)s and "
|
980
|
-
"%(alliance)s
|
981
|
-
"%(against)s is no longer a member of %(alliance)s, and therefore a new war "
|
982
|
-
"between %(declared_by)s and %(against)s has begun."
|
968
|
+
"There has been a development in the war between %(declared_by)s and %(alliance)s.\n"
|
969
|
+
"%(against)s is no longer a member of %(alliance)s, and therefore a new war between %(declared_by)s and %(against)s has begun."
|
983
970
|
msgstr ""
|
984
971
|
|
985
972
|
#: core/notification_embeds/war_embeds.py:78
|
@@ -990,10 +977,8 @@ msgstr ""
|
|
990
977
|
#: core/notification_embeds/war_embeds.py:83
|
991
978
|
#, python-format
|
992
979
|
msgid ""
|
993
|
-
"%(declared_by)s has declared war on %(against)s with %(war_hq)s as the "
|
994
|
-
"
|
995
|
-
"Within %(delay_hours)s hours fighting can legally occur between those "
|
996
|
-
"involved."
|
980
|
+
"%(declared_by)s has declared war on %(against)s with %(war_hq)s as the designated war headquarters.\n"
|
981
|
+
"Within %(delay_hours)s hours fighting can legally occur between those involved."
|
997
982
|
msgstr ""
|
998
983
|
|
999
984
|
#: core/notification_embeds/war_embeds.py:102
|
@@ -1016,10 +1001,8 @@ msgstr ""
|
|
1016
1001
|
#: core/notification_embeds/war_embeds.py:125
|
1017
1002
|
#, python-format
|
1018
1003
|
msgid ""
|
1019
|
-
"The war between %(declared_by)s and %(against)s has been retracted by "
|
1020
|
-
"CONCORD
|
1021
|
-
"After %(end_date)s CONCORD will again respond to any hostilities between "
|
1022
|
-
"those involved with full force."
|
1004
|
+
"The war between %(declared_by)s and %(against)s has been retracted by CONCORD.\n"
|
1005
|
+
"After %(end_date)s CONCORD will again respond to any hostilities between those involved with full force."
|
1023
1006
|
msgstr ""
|
1024
1007
|
|
1025
1008
|
#: core/notification_embeds/war_embeds.py:141
|
@@ -1040,11 +1023,8 @@ msgstr ""
|
|
1040
1023
|
|
1041
1024
|
#: core/notification_embeds/war_embeds.py:159
|
1042
1025
|
msgid ""
|
1043
|
-
"Your corporation or alliance is **no longer eligible** to participate in "
|
1044
|
-
"formal war
|
1045
|
-
"Neither your corporation nor any of the corporations in your alliance own a "
|
1046
|
-
"structure deployed in space at this time. If your corporation or alliance is "
|
1047
|
-
"currently involved in a formal war, that war will end in 24 hours."
|
1026
|
+
"Your corporation or alliance is **no longer eligible** to participate in formal war declarations.\n"
|
1027
|
+
"Neither your corporation nor any of the corporations in your alliance own a structure deployed in space at this time. If your corporation or alliance is currently involved in a formal war, that war will end in 24 hours."
|
1048
1028
|
msgstr ""
|
1049
1029
|
|
1050
1030
|
#: core/notification_embeds/war_embeds.py:176
|
@@ -1056,8 +1036,8 @@ msgstr ""
|
|
1056
1036
|
#, python-format
|
1057
1037
|
msgid ""
|
1058
1038
|
"%s has offered to end the war with %s in the exchange for %s ISK. If "
|
1059
|
-
"accepted, the war will end in 24 hours and your organizations will be unable
|
1060
|
-
"to declare new wars against each other for the next 2 weeks."
|
1039
|
+
"accepted, the war will end in 24 hours and your organizations will be unable"
|
1040
|
+
" to declare new wars against each other for the next 2 weeks."
|
1061
1041
|
msgstr ""
|
1062
1042
|
|
1063
1043
|
#: core/notification_embeds/war_embeds.py:188
|
@@ -1480,8 +1460,8 @@ msgstr ""
|
|
1480
1460
|
|
1481
1461
|
#: models/notifications.py:710
|
1482
1462
|
msgid ""
|
1483
|
-
"Option to ping every member of the channel. This setting can be overruled by
|
1484
|
-
"the respective owner or webhook configuration"
|
1463
|
+
"Option to ping every member of the channel. This setting can be overruled by"
|
1464
|
+
" the respective owner or webhook configuration"
|
1485
1465
|
msgstr ""
|
1486
1466
|
|
1487
1467
|
#: models/notifications.py:721
|
@@ -2015,8 +1995,8 @@ msgstr ""
|
|
2015
1995
|
#: models/structures_1.py:330
|
2016
1996
|
msgid ""
|
2017
1997
|
"The average hour of day that determines the time +/- some hours when the "
|
2018
|
-
"structure will randomly exit its reinforcement periods and become vulnerable
|
2019
|
-
"to attack against its armor and/or hull. "
|
1998
|
+
"structure will randomly exit its reinforcement periods and become vulnerable"
|
1999
|
+
" to attack against its armor and/or hull. "
|
2020
2000
|
msgstr ""
|
2021
2001
|
|
2022
2002
|
#: models/structures_1.py:339
|
@@ -2081,8 +2061,8 @@ msgstr ""
|
|
2081
2061
|
|
2082
2062
|
#: models/structures_1.py:399
|
2083
2063
|
msgid ""
|
2084
|
-
"Webhooks for sending notifications to. If any webhook is enabled, these will
|
2085
|
-
"be used instead of the webhooks defined for the respective owner. If no "
|
2064
|
+
"Webhooks for sending notifications to. If any webhook is enabled, these will"
|
2065
|
+
" be used instead of the webhooks defined for the respective owner. If no "
|
2086
2066
|
"webhook is enabled the owner's setting will be used. "
|
2087
2067
|
msgstr ""
|
2088
2068
|
|
@@ -2601,8 +2581,8 @@ msgstr ""
|
|
2601
2581
|
|
2602
2582
|
#: templates/structures/public.html:49
|
2603
2583
|
msgid ""
|
2604
|
-
"Non corporation or alliance members will be assumed to have neutral standing
|
2605
|
-
"with the owner"
|
2584
|
+
"Non corporation or alliance members will be assumed to have neutral standing"
|
2585
|
+
" with the owner"
|
2606
2586
|
msgstr ""
|
2607
2587
|
|
2608
2588
|
#: templates/structures/public.html:50 templates/structures/structures.html:96
|
@@ -2689,8 +2669,8 @@ msgstr "你只能用你的大号或小号注册公司,但是%s不属于以上
|
|
2689
2669
|
#: views/structures.py:602
|
2690
2670
|
#, python-format
|
2691
2671
|
msgid ""
|
2692
|
-
"%(corporation)s has been added with %(character)s as sync character. We have
|
2693
|
-
"started fetching structures and notifications for this corporation and you "
|
2672
|
+
"%(corporation)s has been added with %(character)s as sync character. We have"
|
2673
|
+
" started fetching structures and notifications for this corporation and you "
|
2694
2674
|
"will receive a report once the process is finished."
|
2695
2675
|
msgstr ""
|
2696
2676
|
|
@@ -8,6 +8,7 @@ from typing import Optional, Tuple, Union
|
|
8
8
|
import dhooks_lite
|
9
9
|
import yaml
|
10
10
|
from multiselectfield import MultiSelectField
|
11
|
+
from multiselectfield.utils import get_max_length
|
11
12
|
from requests.exceptions import HTTPError
|
12
13
|
|
13
14
|
from django.contrib.auth.models import Group
|
@@ -67,6 +68,7 @@ class Webhook(WebhookBase):
|
|
67
68
|
|
68
69
|
notification_types = MultiSelectField(
|
69
70
|
choices=NotificationType.choices,
|
71
|
+
max_length=get_max_length(NotificationType.choices, None),
|
70
72
|
default=NotificationType.webhook_defaults(),
|
71
73
|
verbose_name=_("notification types"),
|
72
74
|
help_text=_(
|
@@ -592,7 +592,8 @@ class TestNotificationSendToWebhook(NoSocketsTestCase):
|
|
592
592
|
@patch(MODULE_PATH + ".Webhook.send_message", spec=True)
|
593
593
|
class TestNotificationSendMessage(NoSocketsTestCase):
|
594
594
|
@classmethod
|
595
|
-
def
|
595
|
+
def setUpClass(cls): # Can not be setUpTestData due to conflict with redis client
|
596
|
+
super().setUpClass()
|
596
597
|
load_eveuniverse()
|
597
598
|
load_eve_entities()
|
598
599
|
cls.owner = OwnerFactory(is_alliance_main=True)
|
@@ -33,7 +33,8 @@ MODULE_PATH = "structures.models.notifications"
|
|
33
33
|
@patch(MODULE_PATH + ".Webhook.send_message", spec=True)
|
34
34
|
class TestStructureFuelAlerts(NoSocketsTestCase):
|
35
35
|
@classmethod
|
36
|
-
def
|
36
|
+
def setUpClass(cls): # Can not be setUpTestData due to conflict with redis client
|
37
|
+
super().setUpClass()
|
37
38
|
load_eveuniverse()
|
38
39
|
load_eve_entities()
|
39
40
|
cls.owner = OwnerFactory()
|
structures/tests/test_admin.py
CHANGED
@@ -52,7 +52,8 @@ class MockRequest(object):
|
|
52
52
|
|
53
53
|
class TestFuelNotificationConfigAdminView(TestCase):
|
54
54
|
@classmethod
|
55
|
-
def
|
55
|
+
def setUpClass(cls):
|
56
|
+
super().setUpClass()
|
56
57
|
cls.defaults = {
|
57
58
|
"is_enabled": True,
|
58
59
|
"channel_ping_type": Webhook.PingType.HERE,
|
@@ -213,7 +214,8 @@ class TestFuelNotificationConfigAdminView(TestCase):
|
|
213
214
|
|
214
215
|
class TestStructureFuelAlertAdmin(TestCase):
|
215
216
|
@classmethod
|
216
|
-
def
|
217
|
+
def setUpClass(cls):
|
218
|
+
super().setUpClass()
|
217
219
|
cls.modeladmin = StructureFuelAlertConfigAdmin(
|
218
220
|
model=FuelAlertConfig, admin_site=AdminSite()
|
219
221
|
)
|
@@ -235,7 +237,8 @@ class TestStructureFuelAlertAdmin(TestCase):
|
|
235
237
|
|
236
238
|
class TestNotificationAdmin(TestCase):
|
237
239
|
@classmethod
|
238
|
-
def
|
240
|
+
def setUpClass(cls):
|
241
|
+
super().setUpClass()
|
239
242
|
cls.factory = RequestFactory()
|
240
243
|
load_eveuniverse()
|
241
244
|
cls.modeladmin = NotificationAdmin(model=Notification, admin_site=AdminSite())
|
@@ -355,7 +358,8 @@ class TestNotificationAdmin(TestCase):
|
|
355
358
|
|
356
359
|
class TestOwnerAdmin(TestCase):
|
357
360
|
@classmethod
|
358
|
-
def
|
361
|
+
def setUpClass(cls):
|
362
|
+
super().setUpClass()
|
359
363
|
cls.factory = RequestFactory()
|
360
364
|
cls.modeladmin = OwnerAdmin(model=Owner, admin_site=AdminSite())
|
361
365
|
load_eveuniverse()
|
@@ -454,7 +458,8 @@ class TestOwnerAdmin(TestCase):
|
|
454
458
|
|
455
459
|
class TestStructureAdmin(TestCase):
|
456
460
|
@classmethod
|
457
|
-
def
|
461
|
+
def setUpClass(cls):
|
462
|
+
super().setUpClass()
|
458
463
|
cls.factory = RequestFactory()
|
459
464
|
load_eveuniverse()
|
460
465
|
cls.modeladmin = StructureAdmin(model=Structure, admin_site=AdminSite())
|
@@ -609,7 +614,8 @@ class TestStructureAdmin(TestCase):
|
|
609
614
|
|
610
615
|
class TestWebhookAdmin(TestCase):
|
611
616
|
@classmethod
|
612
|
-
def
|
617
|
+
def setUpClass(cls):
|
618
|
+
super().setUpClass()
|
613
619
|
cls.modeladmin = WebhookAdmin(model=Webhook, admin_site=AdminSite())
|
614
620
|
cls.user = SuperuserFactory()
|
615
621
|
|
structures/tests/test_tasks.py
CHANGED
@@ -26,7 +26,8 @@ MODULE_PATH_MODELS_OWNERS = "structures.models.owners"
|
|
26
26
|
@patch(MODULE_PATH + ".Webhook.send_queued_messages", spec=True)
|
27
27
|
class TestSendMessagesForWebhook(TestCase):
|
28
28
|
@classmethod
|
29
|
-
def
|
29
|
+
def setUpClass(cls): # Can not be setUpTestData due to conflict with redis client
|
30
|
+
super().setUpClass()
|
30
31
|
cls.webhook = WebhookFactory()
|
31
32
|
|
32
33
|
def test_normal(self, mock_send_queued_messages):
|
structures/webhooks/models.py
CHANGED
@@ -33,7 +33,8 @@ class Webhook(core.DiscordWebhookMixin):
|
|
33
33
|
@patch(MODULE_PATH + ".sleep", lambda _: None)
|
34
34
|
class TestDiscordWebhookMixin(TestCase):
|
35
35
|
@classmethod
|
36
|
-
def
|
36
|
+
def setUpClass(cls): # Can not be setUpTestData due to conflict with redis client
|
37
|
+
super().setUpClass()
|
37
38
|
cls.webhook = WebhookFactory.build(name="Dummy 1", url="dummy-1-url")
|
38
39
|
|
39
40
|
def setUp(self) -> None:
|
@@ -144,7 +145,8 @@ class TestDiscordWebhookMixin(TestCase):
|
|
144
145
|
@patch(MODULE_PATH + ".dhooks_lite.Webhook.execute")
|
145
146
|
class TestSendTestMessage(TestCase):
|
146
147
|
@classmethod
|
147
|
-
def
|
148
|
+
def setUpClass(cls): # Can not be setUpTestData due to conflict with redis client
|
149
|
+
super().setUpClass()
|
148
150
|
cls.webhook = WebhookFactory(name="Dummy 1", url="dummy-1-url")
|
149
151
|
|
150
152
|
def setUp(self) -> None:
|