aa-rss-to-discord 1.8.1__tar.gz → 2.0.0b1__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.
Files changed (39) hide show
  1. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/.gitignore +5 -4
  2. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/PKG-INFO +6 -2
  3. aa_rss_to_discord-2.0.0b1/aa_rss_to_discord/__init__.py +9 -0
  4. aa_rss_to_discord-2.0.0b1/aa_rss_to_discord/locale/de/LC_MESSAGES/django.mo +0 -0
  5. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/de/LC_MESSAGES/django.po +11 -7
  6. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/django.pot +9 -5
  7. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/es/LC_MESSAGES/django.po +11 -7
  8. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/fr_FR/LC_MESSAGES/django.po +11 -7
  9. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/it_IT/LC_MESSAGES/django.po +11 -7
  10. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/ja/LC_MESSAGES/django.po +11 -7
  11. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/ko_KR/LC_MESSAGES/django.po +11 -7
  12. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/ru/LC_MESSAGES/django.mo +0 -0
  13. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/ru/LC_MESSAGES/django.po +13 -8
  14. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/uk/LC_MESSAGES/django.po +11 -7
  15. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/zh_Hans/LC_MESSAGES/django.po +9 -5
  16. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/tasks.py +53 -35
  17. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/pyproject.toml +13 -2
  18. aa_rss_to_discord-1.8.1/aa_rss_to_discord/__init__.py +0 -11
  19. aa_rss_to_discord-1.8.1/aa_rss_to_discord/locale/de/LC_MESSAGES/django.mo +0 -0
  20. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/LICENSE +0 -0
  21. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/README.md +0 -0
  22. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/admin.py +0 -0
  23. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/apps.py +0 -0
  24. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/auth_hooks.py +0 -0
  25. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/constants.py +0 -0
  26. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/discordbot/cogs/__init__.py +0 -0
  27. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/discordbot/cogs/rss.py +0 -0
  28. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/es/LC_MESSAGES/django.mo +0 -0
  29. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  30. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  31. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/ja/LC_MESSAGES/django.mo +0 -0
  32. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  33. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/uk/LC_MESSAGES/django.mo +0 -0
  34. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  35. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/managers.py +0 -0
  36. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/migrations/0001_initial.py +0 -0
  37. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/migrations/0002_enable_disable_rss_feeds.py +0 -0
  38. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/migrations/__init__.py +0 -0
  39. {aa_rss_to_discord-1.8.1 → aa_rss_to_discord-2.0.0b1}/aa_rss_to_discord/models.py +0 -0
@@ -2,14 +2,15 @@
2
2
  /dist/
3
3
  /*.egg-info/
4
4
  .idea/
5
+ .tox/
6
+ htmlcov/
7
+ node_modules/
5
8
 
6
9
  *.log
7
10
  *.tmp
8
11
  *.bak
9
12
  *.old
10
13
  __pycache__
11
-
12
- /.coverage
13
- /htmlcov/
14
- /.tox/
14
+ .coverage
15
15
  /coverage.xml
16
+ alliance_auth.sqlite3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aa-rss-to-discord
3
- Version: 1.8.1
3
+ Version: 2.0.0b1
4
4
  Summary: Alliance Auth module to post news from RSS feeds to your Discord
5
5
  Project-URL: Changelog, https://github.com/ppfeufer/aa-rss-to-discord/blob/master/CHANGELOG.md
6
6
  Project-URL: Documentation, https://github.com/ppfeufer/aa-rss-to-discord/blob/master/README.md
@@ -697,13 +697,17 @@ Classifier: Programming Language :: Python :: 3.8
697
697
  Classifier: Programming Language :: Python :: 3.9
698
698
  Classifier: Programming Language :: Python :: 3.10
699
699
  Classifier: Programming Language :: Python :: 3.11
700
+ Classifier: Programming Language :: Python :: 3.12
700
701
  Classifier: Topic :: Internet :: WWW/HTTP
701
702
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
702
703
  Requires-Python: >=3.8
703
704
  Requires-Dist: allianceauth-app-utils>=1.14.2
704
705
  Requires-Dist: allianceauth-discordbot>=3.0.5
705
- Requires-Dist: allianceauth>=3
706
+ Requires-Dist: allianceauth>=4.0.0b1
706
707
  Requires-Dist: feedparser
708
+ Provides-Extra: tests-allianceauth-latest
709
+ Requires-Dist: coverage; extra == 'tests-allianceauth-latest'
710
+ Requires-Dist: django-webtest; extra == 'tests-allianceauth-latest'
707
711
  Description-Content-Type: text/markdown
708
712
 
709
713
  # Alliance Auth RSS to Discord<a name="alliance-auth-rss-to-discord"></a>
@@ -0,0 +1,9 @@
1
+ """
2
+ App init
3
+ """
4
+
5
+ # Django
6
+ from django.utils.translation import gettext_lazy as _
7
+
8
+ __version__ = "2.0.0-beta.1"
9
+ __title__ = _("RSS to Discord")
@@ -6,8 +6,8 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: PACKAGE VERSION\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
10
- "PO-Revision-Date: 2023-09-24 13:13+0000\n"
9
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
10
+ "PO-Revision-Date: 2023-11-16 18:04+0000\n"
11
11
  "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
12
  "Language-Team: German <https://weblate.ppfeufer.de/projects/"
13
13
  "alliance-auth-apps/aa-rss-to-discord/de/>\n"
@@ -16,20 +16,24 @@ msgstr ""
16
16
  "Content-Type: text/plain; charset=UTF-8\n"
17
17
  "Content-Transfer-Encoding: 8bit\n"
18
18
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
19
- "X-Generator: Weblate 5.0.2\n"
19
+ "X-Generator: Weblate 5.1\n"
20
20
 
21
- #: models.py:41
21
+ #: aa_rss_to_discord/__init__.py:9
22
+ msgid "RSS to Discord"
23
+ msgstr "RSS zu Discord"
24
+
25
+ #: aa_rss_to_discord/models.py:41
22
26
  msgid "RSS Feed"
23
27
  msgstr "RSS Feed"
24
28
 
25
- #: models.py:42
29
+ #: aa_rss_to_discord/models.py:42
26
30
  msgid "RSS Feeds"
27
31
  msgstr "RSS Feeds"
28
32
 
29
- #: models.py:69
33
+ #: aa_rss_to_discord/models.py:69
30
34
  msgid "Last Item"
31
35
  msgstr "Letztes Element"
32
36
 
33
- #: models.py:70
37
+ #: aa_rss_to_discord/models.py:70
34
38
  msgid "Last Items"
35
39
  msgstr "Letzte Elemente"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2023-04-19 01:27+0200\n"
11
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,18 +17,22 @@ msgstr ""
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
 
20
- #: models.py:41
20
+ #: aa_rss_to_discord/__init__.py:9
21
+ msgid "RSS to Discord"
22
+ msgstr ""
23
+
24
+ #: aa_rss_to_discord/models.py:41
21
25
  msgid "RSS Feed"
22
26
  msgstr ""
23
27
 
24
- #: models.py:42
28
+ #: aa_rss_to_discord/models.py:42
25
29
  msgid "RSS Feeds"
26
30
  msgstr ""
27
31
 
28
- #: models.py:69
32
+ #: aa_rss_to_discord/models.py:69
29
33
  msgid "Last Item"
30
34
  msgstr ""
31
35
 
32
- #: models.py:70
36
+ #: aa_rss_to_discord/models.py:70
33
37
  msgid "Last Items"
34
38
  msgstr ""
@@ -6,11 +6,11 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: PACKAGE VERSION\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
9
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
10
10
  "PO-Revision-Date: 2023-09-24 13:13+0000\n"
11
11
  "Last-Translator: Zigor Fernandez Moreno <sietehierros@gmail.com>\n"
12
- "Language-Team: Spanish <https://weblate.ppfeufer.de/projects/"
13
- "alliance-auth-apps/aa-rss-to-discord/es/>\n"
12
+ "Language-Team: Spanish <https://weblate.ppfeufer.de/projects/alliance-auth-"
13
+ "apps/aa-rss-to-discord/es/>\n"
14
14
  "Language: es\n"
15
15
  "MIME-Version: 1.0\n"
16
16
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,22 @@ msgstr ""
18
18
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
19
19
  "X-Generator: Weblate 5.0.2\n"
20
20
 
21
- #: models.py:41
21
+ #: aa_rss_to_discord/__init__.py:9
22
+ msgid "RSS to Discord"
23
+ msgstr ""
24
+
25
+ #: aa_rss_to_discord/models.py:41
22
26
  msgid "RSS Feed"
23
27
  msgstr "RSS Feed"
24
28
 
25
- #: models.py:42
29
+ #: aa_rss_to_discord/models.py:42
26
30
  msgid "RSS Feeds"
27
31
  msgstr "RSS Feeds"
28
32
 
29
- #: models.py:69
33
+ #: aa_rss_to_discord/models.py:69
30
34
  msgid "Last Item"
31
35
  msgstr "Último artículo"
32
36
 
33
- #: models.py:70
37
+ #: aa_rss_to_discord/models.py:70
34
38
  msgid "Last Items"
35
39
  msgstr "Últimos artículos"
@@ -7,11 +7,11 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
10
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
11
11
  "PO-Revision-Date: 2023-09-24 13:13+0000\n"
12
12
  "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
- "Language-Team: French <https://weblate.ppfeufer.de/projects/"
14
- "alliance-auth-apps/aa-rss-to-discord/fr/>\n"
13
+ "Language-Team: French <https://weblate.ppfeufer.de/projects/alliance-auth-"
14
+ "apps/aa-rss-to-discord/fr/>\n"
15
15
  "Language: fr_FR\n"
16
16
  "MIME-Version: 1.0\n"
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,22 @@ msgstr ""
19
19
  "Plural-Forms: nplurals=2; plural=n > 1;\n"
20
20
  "X-Generator: Weblate 5.0.2\n"
21
21
 
22
- #: models.py:41
22
+ #: aa_rss_to_discord/__init__.py:9
23
+ msgid "RSS to Discord"
24
+ msgstr ""
25
+
26
+ #: aa_rss_to_discord/models.py:41
23
27
  msgid "RSS Feed"
24
28
  msgstr ""
25
29
 
26
- #: models.py:42
30
+ #: aa_rss_to_discord/models.py:42
27
31
  msgid "RSS Feeds"
28
32
  msgstr ""
29
33
 
30
- #: models.py:69
34
+ #: aa_rss_to_discord/models.py:69
31
35
  msgid "Last Item"
32
36
  msgstr ""
33
37
 
34
- #: models.py:70
38
+ #: aa_rss_to_discord/models.py:70
35
39
  msgid "Last Items"
36
40
  msgstr ""
@@ -7,11 +7,11 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
10
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
11
11
  "PO-Revision-Date: 2023-09-24 13:13+0000\n"
12
12
  "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
- "Language-Team: Italian <https://weblate.ppfeufer.de/projects/"
14
- "alliance-auth-apps/aa-rss-to-discord/it/>\n"
13
+ "Language-Team: Italian <https://weblate.ppfeufer.de/projects/alliance-auth-"
14
+ "apps/aa-rss-to-discord/it/>\n"
15
15
  "Language: it_IT\n"
16
16
  "MIME-Version: 1.0\n"
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,22 @@ msgstr ""
19
19
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
20
20
  "X-Generator: Weblate 5.0.2\n"
21
21
 
22
- #: models.py:41
22
+ #: aa_rss_to_discord/__init__.py:9
23
+ msgid "RSS to Discord"
24
+ msgstr ""
25
+
26
+ #: aa_rss_to_discord/models.py:41
23
27
  msgid "RSS Feed"
24
28
  msgstr ""
25
29
 
26
- #: models.py:42
30
+ #: aa_rss_to_discord/models.py:42
27
31
  msgid "RSS Feeds"
28
32
  msgstr ""
29
33
 
30
- #: models.py:69
34
+ #: aa_rss_to_discord/models.py:69
31
35
  msgid "Last Item"
32
36
  msgstr ""
33
37
 
34
- #: models.py:70
38
+ #: aa_rss_to_discord/models.py:70
35
39
  msgid "Last Items"
36
40
  msgstr ""
@@ -7,11 +7,11 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
10
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
11
11
  "PO-Revision-Date: 2023-09-24 13:13+0000\n"
12
12
  "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
- "Language-Team: Japanese <https://weblate.ppfeufer.de/projects/"
14
- "alliance-auth-apps/aa-rss-to-discord/ja/>\n"
13
+ "Language-Team: Japanese <https://weblate.ppfeufer.de/projects/alliance-auth-"
14
+ "apps/aa-rss-to-discord/ja/>\n"
15
15
  "Language: ja\n"
16
16
  "MIME-Version: 1.0\n"
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,22 @@ msgstr ""
19
19
  "Plural-Forms: nplurals=1; plural=0;\n"
20
20
  "X-Generator: Weblate 5.0.2\n"
21
21
 
22
- #: models.py:41
22
+ #: aa_rss_to_discord/__init__.py:9
23
+ msgid "RSS to Discord"
24
+ msgstr ""
25
+
26
+ #: aa_rss_to_discord/models.py:41
23
27
  msgid "RSS Feed"
24
28
  msgstr ""
25
29
 
26
- #: models.py:42
30
+ #: aa_rss_to_discord/models.py:42
27
31
  msgid "RSS Feeds"
28
32
  msgstr ""
29
33
 
30
- #: models.py:69
34
+ #: aa_rss_to_discord/models.py:69
31
35
  msgid "Last Item"
32
36
  msgstr ""
33
37
 
34
- #: models.py:70
38
+ #: aa_rss_to_discord/models.py:70
35
39
  msgid "Last Items"
36
40
  msgstr ""
@@ -6,11 +6,11 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: PACKAGE VERSION\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
9
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
10
10
  "PO-Revision-Date: 2023-09-24 13:13+0000\n"
11
11
  "Last-Translator: Author50CO <tkddlschry@gmail.com>\n"
12
- "Language-Team: Korean <https://weblate.ppfeufer.de/projects/"
13
- "alliance-auth-apps/aa-rss-to-discord/ko/>\n"
12
+ "Language-Team: Korean <https://weblate.ppfeufer.de/projects/alliance-auth-"
13
+ "apps/aa-rss-to-discord/ko/>\n"
14
14
  "Language: ko_KR\n"
15
15
  "MIME-Version: 1.0\n"
16
16
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,22 @@ msgstr ""
18
18
  "Plural-Forms: nplurals=1; plural=0;\n"
19
19
  "X-Generator: Weblate 5.0.2\n"
20
20
 
21
- #: models.py:41
21
+ #: aa_rss_to_discord/__init__.py:9
22
+ msgid "RSS to Discord"
23
+ msgstr ""
24
+
25
+ #: aa_rss_to_discord/models.py:41
22
26
  msgid "RSS Feed"
23
27
  msgstr "RSS 피드"
24
28
 
25
- #: models.py:42
29
+ #: aa_rss_to_discord/models.py:42
26
30
  msgid "RSS Feeds"
27
31
  msgstr "RSS 피드"
28
32
 
29
- #: models.py:69
33
+ #: aa_rss_to_discord/models.py:69
30
34
  msgid "Last Item"
31
35
  msgstr "마지막 항목"
32
36
 
33
- #: models.py:70
37
+ #: aa_rss_to_discord/models.py:70
34
38
  msgid "Last Items"
35
39
  msgstr "마지막 항목"
@@ -2,13 +2,14 @@
2
2
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  # Nikolay <nick.postnikov@gmail.com>, 2023.
5
+ # Dromiel <dimhry@yandex.ru>, 2024.
5
6
  msgid ""
6
7
  msgstr ""
7
8
  "Project-Id-Version: PACKAGE VERSION\n"
8
9
  "Report-Msgid-Bugs-To: \n"
9
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
10
- "PO-Revision-Date: 2023-09-24 13:13+0000\n"
11
- "Last-Translator: Nikolay <nick.postnikov@gmail.com>\n"
10
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
11
+ "PO-Revision-Date: 2024-01-17 18:05+0000\n"
12
+ "Last-Translator: Dromiel <dimhry@yandex.ru>\n"
12
13
  "Language-Team: Russian <https://weblate.ppfeufer.de/projects/"
13
14
  "alliance-auth-apps/aa-rss-to-discord/ru/>\n"
14
15
  "Language: ru\n"
@@ -17,20 +18,24 @@ msgstr ""
17
18
  "Content-Transfer-Encoding: 8bit\n"
18
19
  "Plural-Forms: nplurals=4; plural=n==1 ? 3 : (n%10==1 && n%100!=11 ? 0 : "
19
20
  "n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
20
- "X-Generator: Weblate 5.0.2\n"
21
+ "X-Generator: Weblate 5.3.1\n"
21
22
 
22
- #: models.py:41
23
+ #: aa_rss_to_discord/__init__.py:9
24
+ msgid "RSS to Discord"
25
+ msgstr "RSS к Дискорду"
26
+
27
+ #: aa_rss_to_discord/models.py:41
23
28
  msgid "RSS Feed"
24
29
  msgstr "RSS лента"
25
30
 
26
- #: models.py:42
31
+ #: aa_rss_to_discord/models.py:42
27
32
  msgid "RSS Feeds"
28
33
  msgstr "RSS ленты"
29
34
 
30
- #: models.py:69
35
+ #: aa_rss_to_discord/models.py:69
31
36
  msgid "Last Item"
32
37
  msgstr "Последний элемент"
33
38
 
34
- #: models.py:70
39
+ #: aa_rss_to_discord/models.py:70
35
40
  msgid "Last Items"
36
41
  msgstr "Последние элементы"
@@ -6,11 +6,11 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: PACKAGE VERSION\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
- "POT-Creation-Date: 2023-04-19 01:27+0200\n"
9
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
10
10
  "PO-Revision-Date: 2023-09-24 13:13+0000\n"
11
11
  "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
- "Language-Team: Ukrainian <https://weblate.ppfeufer.de/projects/"
13
- "alliance-auth-apps/aa-rss-to-discord/uk/>\n"
12
+ "Language-Team: Ukrainian <https://weblate.ppfeufer.de/projects/alliance-auth-"
13
+ "apps/aa-rss-to-discord/uk/>\n"
14
14
  "Language: uk\n"
15
15
  "MIME-Version: 1.0\n"
16
16
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,22 @@ msgstr ""
19
19
  "n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
20
20
  "X-Generator: Weblate 5.0.2\n"
21
21
 
22
- #: models.py:41
22
+ #: aa_rss_to_discord/__init__.py:9
23
+ msgid "RSS to Discord"
24
+ msgstr ""
25
+
26
+ #: aa_rss_to_discord/models.py:41
23
27
  msgid "RSS Feed"
24
28
  msgstr "RSS-канал"
25
29
 
26
- #: models.py:42
30
+ #: aa_rss_to_discord/models.py:42
27
31
  msgid "RSS Feeds"
28
32
  msgstr "RSS-канали"
29
33
 
30
- #: models.py:69
34
+ #: aa_rss_to_discord/models.py:69
31
35
  msgid "Last Item"
32
36
  msgstr "Останній елемент"
33
37
 
34
- #: models.py:70
38
+ #: aa_rss_to_discord/models.py:70
35
39
  msgid "Last Items"
36
40
  msgstr "Останні Елемети"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2023-04-12 09:17+0200\n"
10
+ "POT-Creation-Date: 2023-11-15 18:12+0100\n"
11
11
  "PO-Revision-Date: 2023-09-24 13:13+0000\n"
12
12
  "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
13
  "Language-Team: Chinese (Simplified) <https://weblate.ppfeufer.de/projects/"
@@ -19,18 +19,22 @@ msgstr ""
19
19
  "Plural-Forms: nplurals=1; plural=0;\n"
20
20
  "X-Generator: Weblate 5.0.2\n"
21
21
 
22
- #: models.py:41
22
+ #: aa_rss_to_discord/__init__.py:9
23
+ msgid "RSS to Discord"
24
+ msgstr ""
25
+
26
+ #: aa_rss_to_discord/models.py:41
23
27
  msgid "RSS Feed"
24
28
  msgstr ""
25
29
 
26
- #: models.py:42
30
+ #: aa_rss_to_discord/models.py:42
27
31
  msgid "RSS Feeds"
28
32
  msgstr ""
29
33
 
30
- #: models.py:69
34
+ #: aa_rss_to_discord/models.py:69
31
35
  msgid "Last Item"
32
36
  msgstr ""
33
37
 
34
- #: models.py:70
38
+ #: aa_rss_to_discord/models.py:70
35
39
  msgid "Last Items"
36
40
  msgstr ""
@@ -31,6 +31,7 @@ def remove_emoji(string):
31
31
  """
32
32
  Removing these dumb as fuck emojis from the title string.
33
33
  Like honestly, who in the hell needs that shit?
34
+
34
35
  :param string:
35
36
  :type string:
36
37
  :return:
@@ -38,7 +39,7 @@ def remove_emoji(string):
38
39
  """
39
40
 
40
41
  emoji_pattern = re.compile(
41
- "["
42
+ pattern="["
42
43
  "\U0001F600-\U0001F64F" # Emoticons
43
44
  "\U0001F300-\U0001F5FF" # Symbols & pictographs
44
45
  "\U0001F680-\U0001F6FF" # Transport & map symbols
@@ -61,28 +62,32 @@ def remove_emoji(string):
61
62
  flags=re.UNICODE,
62
63
  )
63
64
 
64
- return emoji_pattern.sub(r"", string)
65
+ return emoji_pattern.sub(repl=r"", string=string)
65
66
 
66
67
 
67
68
  @shared_task(**{"base": QueueOnce})
68
- def fetch_rss() -> None: # pylint: disable=too-many-statements
69
+ def fetch_rss() -> None: # pylint: disable=too-many-statements, too-many-branches
69
70
  """
70
71
  Fetch RSS feeds and post to Discord
72
+
71
73
  :return:
72
74
  :rtype:
73
75
  """
74
76
 
75
- if apps.is_installed("aadiscordbot"): # pylint: disable=too-many-nested-blocks
77
+ # pylint: disable=too-many-nested-blocks
78
+ if apps.is_installed(app_name="aadiscordbot"):
76
79
  # Third Party
77
- import aadiscordbot.tasks # pylint: disable=import-outside-toplevel
80
+ from aadiscordbot.tasks import ( # pylint: disable=import-outside-toplevel
81
+ send_message,
82
+ )
78
83
 
79
84
  rss_feeds = RssFeeds.objects.select_enabled()
80
85
 
81
86
  if rss_feeds:
82
87
  for rss_feed in rss_feeds:
83
- logger.info(f'Fetching RSS Feed "{rss_feed.name}"')
88
+ logger.info(msg=f'Fetching RSS Feed "{rss_feed.name}"')
84
89
 
85
- feed = feedparser.parse(rss_feed.url)
90
+ feed = feedparser.parse(url_file_stream_or_string=rss_feed.url)
86
91
 
87
92
  feed_entry_title = "No title"
88
93
  feed_entry_link = None
@@ -90,19 +95,28 @@ def fetch_rss() -> None: # pylint: disable=too-many-statements
90
95
  feed_entry_guid = None
91
96
  has_last_item = False
92
97
  last_item = None
98
+ post_entry = False
93
99
 
94
100
  try:
95
101
  latest_entry = feed.entries[0]
96
102
 
97
103
  feed_entry_title = remove_emoji(
98
- latest_entry.get("title", "No title")
104
+ string=latest_entry.get("title", "No title")
99
105
  )
100
106
  feed_entry_link = latest_entry.get("link", None)
101
107
  feed_entry_time = latest_entry.get(
102
108
  "published", latest_entry.updated
103
109
  )
104
110
  feed_entry_guid = latest_entry.get("id", None)
105
-
111
+ except AttributeError as exc:
112
+ logger.debug(
113
+ msg=f'Malformed RSS feed item in feed "{rss_feed.name}". Error: {exc}'
114
+ )
115
+ except IndexError as exc:
116
+ logger.debug(
117
+ msg=f'Could not index the RSS feed "{rss_feed.name}". Error: {exc}'
118
+ )
119
+ else:
106
120
  post_entry = True
107
121
  has_last_item = True
108
122
 
@@ -117,27 +131,26 @@ def fetch_rss() -> None: # pylint: disable=too-many-statements
117
131
  and last_item.rss_item_guid == feed_entry_guid
118
132
  ):
119
133
  logger.debug(
120
- f'News item "{feed_entry_title}" for RSS Feed '
121
- f'"{rss_feed.name}" has already been posted to your Discord'
134
+ msg=(
135
+ f'News item "{feed_entry_title}" for RSS Feed '
136
+ f'"{rss_feed.name}" has already been posted to your Discord'
137
+ )
122
138
  )
123
139
  post_entry = False
124
140
  except LastItem.DoesNotExist:
125
- logger.debug("This seems to be a completely new RSS feed.")
141
+ logger.debug(msg="This seems to be a completely new RSS feed.")
126
142
 
127
143
  has_last_item = False
128
144
 
129
- except IndexError as ex:
130
- logger.debug(f"Could not index the RSS feed. Error: {ex}")
131
-
132
- post_entry = False
133
-
134
145
  logger.debug(
135
- "RSS Information gathered: "
136
- f"post_entry => {post_entry}, "
137
- f'feed_entry_link => "{feed_entry_link}", '
138
- f'feed_entry_title => "{feed_entry_title}", '
139
- f"feed_entry_time => {feed_entry_time}, "
140
- f"feed_entry_guid => {feed_entry_guid}"
146
+ msg=(
147
+ "RSS Information gathered: "
148
+ f"post_entry => {post_entry}, "
149
+ f'feed_entry_link => "{feed_entry_link}", '
150
+ f'feed_entry_title => "{feed_entry_title}", '
151
+ f"feed_entry_time => {feed_entry_time}, "
152
+ f"feed_entry_guid => {feed_entry_guid}"
153
+ )
141
154
  )
142
155
 
143
156
  if (
@@ -146,8 +159,10 @@ def fetch_rss() -> None: # pylint: disable=too-many-statements
146
159
  and feed_entry_guid is not None
147
160
  ):
148
161
  logger.info(
149
- "New entry found, posting to Discord channel "
150
- f"{rss_feed.discord_channel}"
162
+ msg=(
163
+ "New entry found, posting to Discord channel "
164
+ f"{rss_feed.discord_channel}"
165
+ )
151
166
  )
152
167
 
153
168
  if has_last_item is True:
@@ -169,21 +184,24 @@ def fetch_rss() -> None: # pylint: disable=too-many-statements
169
184
 
170
185
  discord_message = f"**{rss_feed.name}**\n{feed_entry_link}"
171
186
 
172
- aadiscordbot.tasks.send_channel_message_by_discord_id.delay(
173
- rss_feed.discord_channel.channel,
174
- discord_message,
175
- embed=False,
187
+ send_message(
188
+ channel_id=rss_feed.discord_channel.channel,
189
+ message=discord_message,
176
190
  )
177
191
  else:
178
192
  logger.debug(
179
- f'No item for feed "{rss_feed.name}" to post. '
180
- 'Missing either "post_entry" to be "True" or '
181
- 'either "feed_entry_link" or "feed_entry_guid" is "None".'
193
+ msg=(
194
+ f'No item for feed "{rss_feed.name}" to post. '
195
+ 'Missing either "post_entry" to be "True" or '
196
+ 'either "feed_entry_link" or "feed_entry_guid" is "None".'
197
+ )
182
198
  )
183
199
  else:
184
- logger.debug("No RSS feeds found to parse.")
200
+ logger.debug(msg="No RSS feeds found to parse.")
185
201
  else:
186
202
  logging.info(
187
- "AA Discordbot (https://github.com/pvyParts/allianceauth-discordbot) "
188
- "needs to be installed and configured."
203
+ msg=(
204
+ "AA Discordbot (https://github.com/pvyParts/allianceauth-discordbot) "
205
+ "needs to be installed and configured."
206
+ )
189
207
  )
@@ -6,7 +6,6 @@ requires = [
6
6
 
7
7
  [project]
8
8
  name = "aa-rss-to-discord"
9
- version = "1.8.1"
10
9
  description = "Alliance Auth module to post news from RSS feeds to your Discord"
11
10
  readme = "README.md"
12
11
  keywords = [
@@ -33,15 +32,24 @@ classifiers = [
33
32
  "Programming Language :: Python :: 3.9",
34
33
  "Programming Language :: Python :: 3.10",
35
34
  "Programming Language :: Python :: 3.11",
35
+ "Programming Language :: Python :: 3.12",
36
36
  "Topic :: Internet :: WWW/HTTP",
37
37
  "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
38
38
  ]
39
+ dynamic = [
40
+ "version",
41
+ ]
39
42
  dependencies = [
40
- "allianceauth>=3",
43
+ "allianceauth>=4.0.0b1",
41
44
  "allianceauth-app-utils>=1.14.2",
42
45
  "allianceauth-discordbot>=3.0.5",
43
46
  "feedparser",
44
47
  ]
48
+ [project.optional-dependencies]
49
+ tests-allianceauth-latest = [
50
+ "coverage",
51
+ "django-webtest",
52
+ ]
45
53
  [project.urls]
46
54
  Changelog = "https://github.com/ppfeufer/aa-rss-to-discord/blob/master/CHANGELOG.md"
47
55
  Documentation = "https://github.com/ppfeufer/aa-rss-to-discord/blob/master/README.md"
@@ -54,3 +62,6 @@ Tracker = "https://github.com/ppfeufer/aa-rss-to-discord/issues"
54
62
  include = [
55
63
  "/aa_rss_to_discord",
56
64
  ]
65
+
66
+ [tool.hatch.version]
67
+ path = "aa_rss_to_discord/__init__.py"
@@ -1,11 +0,0 @@
1
- """
2
- App init
3
- """
4
-
5
- # Standard Library
6
- from importlib import metadata
7
-
8
- __version__ = metadata.version("aa-rss-to-discord")
9
- __title__ = "RSS to Discord"
10
-
11
- del metadata