Commit 8e5e7aad authored by echel0n's avatar echel0n
Browse files

Merge branch 'release/10.0.59'

parents 63dd97dd 53efac31
......@@ -191,10 +191,9 @@ build_develop:
- npx auto-changelog -v $RELEASE_VERSION --hide-credit --unreleased --package --commit-limit false --ignore-commit-pattern \[TASK\].*
- yarn run build
- python checksum-generator.py
# - python setup.py extract_messages
# - crowdin-cli-py upload sources
# - crowdin-cli-py download
# - python setup.py compile_catalog
- python setup.py extract_messages
- python setup.py init_catalog -l en_US
- python setup.py compile_catalog
- git config --global user.email $(git --no-pager show -s --format='%ae' HEAD)
- git config --global user.name $(git --no-pager show -s --format='%an' HEAD)
- git add --all
......
......@@ -2,8 +2,16 @@
 
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
 
#### [10.0.59](https://git.sickrage.ca/SiCKRAGE/sickrage/compare/10.0.58...10.0.59)
- resolved gettext and fstring issues [`182a6c0`](https://git.sickrage.ca/SiCKRAGE/sickrage/commit/182a6c0ae9b368a57c566965e6d65d1339786378)
- updated english translations [`2f4b447`](https://git.sickrage.ca/SiCKRAGE/sickrage/commit/2f4b447824dfcb2dfa0e8edd429f1cba9cf6e184)
- added retries for rarbg search provider [`dc46165`](https://git.sickrage.ca/SiCKRAGE/sickrage/commit/dc4616541ba350e8f3848cc3cbc9250eb8be2d22)
#### [10.0.58](https://git.sickrage.ca/SiCKRAGE/sickrage/compare/10.0.57...10.0.58)
 
> 26 March 2022
- added python version constraints for importlib-metadata in requirements.txt [`df671c9`](https://git.sickrage.ca/SiCKRAGE/sickrage/commit/df671c986d78ff7555acf5836736c754df971c10)
 
#### [10.0.57](https://git.sickrage.ca/SiCKRAGE/sickrage/compare/10.0.56...10.0.57)
......
{
"name": "sickrage",
"version": "10.0.58",
"version": "10.0.59",
"private": true,
"repository": {
"type": "git",
......
[bumpversion]
current_version = 10.0.58
current_version = 10.0.59
commit = False
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<dev>\d+))?
......
......@@ -19,7 +19,7 @@
# along with SiCKRAGE. If not, see <http://www.gnu.org/licenses/>.
# ##############################################################################
__version__ = "10.0.58"
__version__ = "10.0.59"
__install_type__ = ""
import argparse
......
sickrage/checksums.md5 = d41d8cd98f00b204e9800998ecf8427e
sickrage/__init__.py = 0bed6cc5df0668f540a447f4acfda85e
sickrage/version.txt = 19ffc092084e6b8f2c52f6dd9061c331
sickrage/__init__.py = 5a7614e57f66bde348965f582943ab11
sickrage/version.txt = 916d0cd29891064f5b68f0ddf7ff36e7
sickrage/clients/__init__.py = abafc862109398700c9fee676cdeef6b
sickrage/clients/nzb/nzbget.py = 2a23083d4915fed22c73f4966588cac8
sickrage/clients/nzb/sabnzbd.py = f76666e47017abaf366f4a3e8b71c47b
......@@ -16,88 +16,88 @@ sickrage/clients/torrent/mlnet.py = 0e73345f3516a57eeaf9dea40ecbbddc
sickrage/clients/torrent/putio.py = e3635cb458be1bd9e6dbdf10ceaa2bd4
sickrage/clients/torrent/deluged.py = f7291242ab46a4668c0b54cd7821dff0
sickrage/clients/torrent/__init__.py = 014e84083401e6b05a9626cb29bd8467
sickrage/locale/messages.pot = 0fb1c1e1dacc3b53a57b7afa96e88ef9
sickrage/locale/messages.pot = 49084558c02703257f4af98fe785e3cf
sickrage/locale/no_NO/LC_MESSAGES/messages.po = 665add0ac4385bce84e16cb1dba3267a
sickrage/locale/no_NO/LC_MESSAGES/messages.json = a8e45d067d9f0e279a23e959db8fa1e7
sickrage/locale/no_NO/LC_MESSAGES/messages.mo = 7ba14522501342d25b536e7abc185924
sickrage/locale/no_NO/LC_MESSAGES/messages.mo = 81d7c78f3be5a5c414493c37657a1097
sickrage/locale/zh_CN/LC_MESSAGES/messages.po = 899a30b200d2f27dc317f8f87454c42e
sickrage/locale/zh_CN/LC_MESSAGES/messages.json = 577195a58a2bcd4510bd89b6057f9318
sickrage/locale/zh_CN/LC_MESSAGES/messages.mo = 3db205c0d4d05da046b3c0847ba91cae
sickrage/locale/zh_CN/LC_MESSAGES/messages.mo = ed1c8d879fe0e3eb9fdeae41ec8a4fd9
sickrage/locale/he_IL/LC_MESSAGES/messages.po = cb111ee31f8c51131fab5f7c30048a38
sickrage/locale/he_IL/LC_MESSAGES/messages.json = f5adb599fa9d361736e014edcd5f675c
sickrage/locale/he_IL/LC_MESSAGES/messages.mo = c7f40455244031ad7dd382a912f61a82
sickrage/locale/he_IL/LC_MESSAGES/messages.mo = 5156183a70aafe8dff0e3a75edfa33d6
sickrage/locale/ro_RO/LC_MESSAGES/messages.po = bbcebfea9ea859c84c5e912e1efaa9b9
sickrage/locale/ro_RO/LC_MESSAGES/messages.json = ba858e47b67a0acf5d51cc8157663d46
sickrage/locale/ro_RO/LC_MESSAGES/messages.mo = 0241edb878de59ca706b26976dd01787
sickrage/locale/ro_RO/LC_MESSAGES/messages.mo = 34dfb2d167aa64fa8fb76a2fb62ec554
sickrage/locale/pl_PL/LC_MESSAGES/messages.po = cc8a596ec2355da4e6cee7b0ce7e68c7
sickrage/locale/pl_PL/LC_MESSAGES/messages.json = 8839fd0d017baac58ebb241018a894db
sickrage/locale/pl_PL/LC_MESSAGES/messages.mo = 00953c31437a31f33498ec40dd976cc1
sickrage/locale/pl_PL/LC_MESSAGES/messages.mo = 6998197c6bf3c8b228475f65a03b32b8
sickrage/locale/fi_FI/LC_MESSAGES/messages.po = df83ff2af5e853c35687363613afa425
sickrage/locale/fi_FI/LC_MESSAGES/messages.json = 702957f4e92c4b9fbd42c7344757faf5
sickrage/locale/fi_FI/LC_MESSAGES/messages.mo = 253dec391948ba07186b276064944634
sickrage/locale/fi_FI/LC_MESSAGES/messages.mo = dc9b16bb12a98ca1d98a254bdf28d24d
sickrage/locale/ca_ES/LC_MESSAGES/messages.po = d185131608800f875ed1145f79e7748d
sickrage/locale/ca_ES/LC_MESSAGES/messages.json = c20e610cf8beeb5a48a491e564c6f419
sickrage/locale/ca_ES/LC_MESSAGES/messages.mo = 3c73395976a1a157a6d2dcd73f1ab84b
sickrage/locale/ca_ES/LC_MESSAGES/messages.mo = 30c737339d31978ca623d273e5114e5d
sickrage/locale/hu_HU/LC_MESSAGES/messages.po = 2c112a3ae614daebdb556d2e8bb53020
sickrage/locale/hu_HU/LC_MESSAGES/messages.json = 109ca4f061b35b21f99f640e18c7fcc0
sickrage/locale/hu_HU/LC_MESSAGES/messages.mo = e84a94361440144ec3b8d387c3289224
sickrage/locale/hu_HU/LC_MESSAGES/messages.mo = 0859b7ae4b1f05c680c62e97065fb221
sickrage/locale/cs_CZ/LC_MESSAGES/messages.po = 9a3efb305d936665d5f4fa8ecec53e02
sickrage/locale/cs_CZ/LC_MESSAGES/messages.json = 69e048f44bd16052756c4ea12a58fc45
sickrage/locale/cs_CZ/LC_MESSAGES/messages.mo = 0670804765286b11fe286cc1b1bb9daf
sickrage/locale/cs_CZ/LC_MESSAGES/messages.mo = c4920fc1b68f5d48e986b615d8cfb845
sickrage/locale/zh_TW/LC_MESSAGES/messages.po = 96d0f43d4b4f065da9fc155633846389
sickrage/locale/zh_TW/LC_MESSAGES/messages.json = 10a920f77d9a5e906e019b9290f99db1
sickrage/locale/zh_TW/LC_MESSAGES/messages.mo = 236120c5d9a8694d85ded16638ef0974
sickrage/locale/zh_TW/LC_MESSAGES/messages.mo = d946e6bf24f511ffa16bd567484998fb
sickrage/locale/el_GR/LC_MESSAGES/messages.po = 9d8087cfea2d4348f804c043f3d3e740
sickrage/locale/el_GR/LC_MESSAGES/messages.json = d0043052f4d192e19eaec90b2d907e5d
sickrage/locale/el_GR/LC_MESSAGES/messages.mo = 7b3e112eed905aae90b88d59498c3a3e
sickrage/locale/en_US/LC_MESSAGES/messages.po = 7f87ebbf2be0e2651159fd06c2bca388
sickrage/locale/el_GR/LC_MESSAGES/messages.mo = e6c8522c5232bd7835e5f85c0e5d93f3
sickrage/locale/en_US/LC_MESSAGES/messages.po = 591d7a7b034d3795d9ee68c961fcdd68
sickrage/locale/en_US/LC_MESSAGES/messages.json = 34be851b221b72688c9c5c7caa9f450a
sickrage/locale/en_US/LC_MESSAGES/messages.mo = a5f46766038e11d2168a8abd4884c80b
sickrage/locale/en_US/LC_MESSAGES/messages.mo = 605f4311f5a0882c3ada126619d277a5
sickrage/locale/ar_SA/LC_MESSAGES/messages.po = 905109fc0c7ea4b653122b7397d2d55b
sickrage/locale/ar_SA/LC_MESSAGES/messages.json = 8c47f610aec954cc75530578b9e1af6a
sickrage/locale/ar_SA/LC_MESSAGES/messages.mo = f98c1a6693a1f481f1bf67022ba832de
sickrage/locale/ar_SA/LC_MESSAGES/messages.mo = 40c217dfcc15eef7b61ddab8318825cc
sickrage/locale/vi_VN/LC_MESSAGES/messages.po = cd35076e006e32a7fbbfb54fc03d5be4
sickrage/locale/vi_VN/LC_MESSAGES/messages.json = a938a325ae85b7d4ff1a06777b40c488
sickrage/locale/vi_VN/LC_MESSAGES/messages.mo = 2daee9f6cea8b29a0796679be89b4ed8
sickrage/locale/vi_VN/LC_MESSAGES/messages.mo = aa90acb7cbbc84f861f7f998bea8b988
sickrage/locale/es_ES/LC_MESSAGES/messages.po = 155986191104954b6dc789acad18bcc3
sickrage/locale/es_ES/LC_MESSAGES/messages.json = a448d6f87055f057ba6f194e76ed1de2
sickrage/locale/es_ES/LC_MESSAGES/messages.mo = 3b8de58a35cfd02210f31c2b0ddbee77
sickrage/locale/es_ES/LC_MESSAGES/messages.mo = 6e4581eb66209a11364955e4b7bc25da
sickrage/locale/da_DK/LC_MESSAGES/messages.po = 83ae706177d29e709f9bd12ba0cc9daf
sickrage/locale/da_DK/LC_MESSAGES/messages.json = 84464936e333e8c211f713b3a5051249
sickrage/locale/da_DK/LC_MESSAGES/messages.mo = 4adff9f4538e0612071e04a19c87d9ae
sickrage/locale/da_DK/LC_MESSAGES/messages.mo = c449a985a1e2d77a28f62614bfbebce9
sickrage/locale/uk_UA/LC_MESSAGES/messages.po = b4558b84a001c5896d85da7ae7c80322
sickrage/locale/uk_UA/LC_MESSAGES/messages.json = 820326fde3bb61ff445e95d8ddfda3b8
sickrage/locale/uk_UA/LC_MESSAGES/messages.mo = 1abfb6d8d2770ba57b98b11f380005cf
sickrage/locale/uk_UA/LC_MESSAGES/messages.mo = 0c4aad64d4bff9766e81b5d05a1f3d60
sickrage/locale/sv_SE/LC_MESSAGES/messages.po = 1cba4ec68035ce8f5e9e231b6e7da592
sickrage/locale/sv_SE/LC_MESSAGES/messages.json = 533d3da874d90c7374b050b5e3f02f6e
sickrage/locale/sv_SE/LC_MESSAGES/messages.mo = 8ba0f0c98b50c486b34a2a1ef5eb66b1
sickrage/locale/sv_SE/LC_MESSAGES/messages.mo = 6306b4ddb9e255c1fc1e47947e0559a6
sickrage/locale/tr_TR/LC_MESSAGES/messages.po = aa32903fd625cad26146f112f0776e2a
sickrage/locale/tr_TR/LC_MESSAGES/messages.json = 7cee7334ba4c362dc47ce0b0232c6ca2
sickrage/locale/tr_TR/LC_MESSAGES/messages.mo = 6970681a43ebaee95647efde9d65ae9e
sickrage/locale/tr_TR/LC_MESSAGES/messages.mo = 32b584116795b2739d80d88c093bb32e
sickrage/locale/it_IT/LC_MESSAGES/messages.po = 0dfc9ed56e22026f2af906553d29c981
sickrage/locale/it_IT/LC_MESSAGES/messages.json = fa5adea561949bd1a5e7501066d276e3
sickrage/locale/it_IT/LC_MESSAGES/messages.mo = 125e7a8c1c96decb3950b49bfcd0d130
sickrage/locale/it_IT/LC_MESSAGES/messages.mo = 6585e439124f0e978d7f9b40c5133432
sickrage/locale/nl_NL/LC_MESSAGES/messages.po = 83faecb1f8196ffaabacc716739bd3f1
sickrage/locale/nl_NL/LC_MESSAGES/messages.json = b98e9a1cc46afcb0cc3270566f33d9d3
sickrage/locale/nl_NL/LC_MESSAGES/messages.mo = 373d34becf193c584528fcfde9f4e6e4
sickrage/locale/nl_NL/LC_MESSAGES/messages.mo = 599bbd9cdba9029bb08d7d818adcd71b
sickrage/locale/ja_JP/LC_MESSAGES/messages.po = 44ca2dbb69d8603543ec69d725dbaa4b
sickrage/locale/ja_JP/LC_MESSAGES/messages.json = fc408f0ed796549cc129ba3f6fe39c99
sickrage/locale/ja_JP/LC_MESSAGES/messages.mo = 9c5b500e629f675bb9b776cfdf67a519
sickrage/locale/ja_JP/LC_MESSAGES/messages.mo = 1ebd5f338cfae6a68fa549d49072444e
sickrage/locale/ru_RU/LC_MESSAGES/messages.po = 206264240d7c884b90c603dc8b21306d
sickrage/locale/ru_RU/LC_MESSAGES/messages.json = 988243181b9dacee3a72e17b5d2bf470
sickrage/locale/ru_RU/LC_MESSAGES/messages.mo = f515f9d05396e1eeca1d4ac375a02a52
sickrage/locale/ru_RU/LC_MESSAGES/messages.mo = 72126969d9d9b5c3bef497d1f5941058
sickrage/locale/ko_KR/LC_MESSAGES/messages.po = 87a1c8a9c47db8d89be6190e4a282d61
sickrage/locale/ko_KR/LC_MESSAGES/messages.json = 5a10ae5681018100ccea95c54b7bf530
sickrage/locale/ko_KR/LC_MESSAGES/messages.mo = 9edde9341ebaf54ae2261abcee327759
sickrage/locale/ko_KR/LC_MESSAGES/messages.mo = 37f30b197cb0c40a40e60f3fc02446ff
sickrage/locale/pt_PT/LC_MESSAGES/messages.po = 921e8079ed264e70bd55b1416a5803f5
sickrage/locale/pt_PT/LC_MESSAGES/messages.json = 4cafff364f49dcd688b134f0d4f8c263
sickrage/locale/pt_PT/LC_MESSAGES/messages.mo = 1034624b66c2826409b5969505b659e0
sickrage/locale/pt_PT/LC_MESSAGES/messages.mo = de386413d75717dda09b5778110f7b76
sickrage/locale/fr_FR/LC_MESSAGES/messages.po = df1c5b45cf2d85889c00bf87d537ff10
sickrage/locale/fr_FR/LC_MESSAGES/messages.json = b3614d2d4643b92a4f7b30144000888f
sickrage/locale/fr_FR/LC_MESSAGES/messages.mo = 5ede940fe6503d317f024bfe4e37b2f0
sickrage/locale/fr_FR/LC_MESSAGES/messages.mo = 9b76b95cfa22099cd653347601c092d3
sickrage/locale/de_DE/LC_MESSAGES/messages.po = bd5ed473dd2699daea174bd7d1dbe628
sickrage/locale/de_DE/LC_MESSAGES/messages.json = c59b6211b3e35ac6daee91a7bfeca461
sickrage/locale/de_DE/LC_MESSAGES/messages.mo = 4906e3f02e7fd59291969e2620b9cbd1
sickrage/locale/de_DE/LC_MESSAGES/messages.mo = b1f66240cb5922b8dfa9b1f10f402f7b
sickrage/autoProcessTV/autoProcessTV.cfg.sample = 1898594be662b83c22dde39414ddc4e9
sickrage/autoProcessTV/sabToSiCKRAGE.py = e101d5495615b9b698b5034f3db05b80
sickrage/autoProcessTV/mediaToSiCKRAGE.py = f88a6679a211b1f97126c116e2c33b9c
......@@ -119,7 +119,7 @@ sickrage/search_providers/torrent/immortalseed.py = c1d475bee6a8ab2b34223325dfa0
sickrage/search_providers/torrent/nyaatorrents.py = 762a1001da55d344ee17335e7824372a
sickrage/search_providers/torrent/tvchaosuk.py = 8c0e73f03e33cb2fe1df37ef3032dcf3
sickrage/search_providers/torrent/yggtorrent.py = 376f76eea00b2fe61ab0850958517da4
sickrage/search_providers/torrent/rarbg.py = f6007a0a9520604f21ea82233fe90795
sickrage/search_providers/torrent/rarbg.py = 6132880984dc3ef9d27dda1ce94b9b34
sickrage/search_providers/torrent/horriblesubs.py = ea55f637ba47caaefebded3c56b8cafd
sickrage/search_providers/torrent/xthor.py = 269a26ca8541a7d7b8283f95348b96a6
sickrage/search_providers/torrent/alpharatio.py = 6fbcc2a4ec3382980fe3002c06eba837
......@@ -202,7 +202,7 @@ sickrage/notification_providers/__init__.py = 566ab4ebcd356e4384cdf75e6f0aa375
sickrage/notification_providers/nmj.py = 16b1b008aa8200c0ad3eb065b6137b4b
sickrage/notification_providers/synology.py = bdb3f339ae68cdae4a20c69a2515d641
sickrage/core/classes.py = ca0d7c07b684b8fe22788346dc755fd8
sickrage/core/version_updater.py = 36ed1e3b7ae29c7e719b487d70ef1003
sickrage/core/version_updater.py = c01ee102bb19a072360e58c77f168264
sickrage/core/traktapi.py = e30a23461b7e5d3af7619ad3e229bc40
sickrage/core/announcements.py = 6c3ed44e7ae50c281383ab5f278102c6
sickrage/core/enums.py = b4194271791aabd8120fc16b2971b105
......@@ -215,9 +215,9 @@ sickrage/core/upnp.py = 51eb609bd1f59baa3c0c346d5ac19787
sickrage/core/nzbSplitter.py = 8bb813262916d2208e905fb53e575284
sickrage/core/search.py = bcb6d5972f5808d7ab9570a8a39b2d02
sickrage/core/scene_numbering.py = e517e5232d3b9ca186fe8b33578abd4b
sickrage/core/__init__.py = cd371888e58e5b6015fc0b8465cd9217
sickrage/core/__init__.py = 7afdf13aeb03d85bad032ec3ecf25fbf
sickrage/core/common.py = 8eca84658272c806858b105179285693
sickrage/core/queues/show.py = 470f9bead2010584eca6019c35fb10c6
sickrage/core/queues/show.py = aad3e6afd0be7e10b73348070fa91509
sickrage/core/queues/postprocessor.py = b2bcd7642060906c2c21d554d114b9ee
sickrage/core/queues/search.py = 0b53c8a4e726e9fcbd3243db68b39ab3
sickrage/core/queues/__init__.py = 95b39e042b76e797398d106329436d10
......@@ -324,7 +324,7 @@ sickrage/core/auth/__init__.py = 56180295776be7e8a5631370b316781e
sickrage/core/api/exceptions.py = bdac7bcebad3d9ce2809f2d7e65810e0
sickrage/core/api/__init__.py = 344904bb71a83e91853c9aa37c0fa260
sickrage/core/exceptions/__init__.py = bb106687a1cb41cf0da10e125e0c82c7
sickrage/core/config/helpers.py = 8d0d9e502b0fa5eff071558ca0f496d3
sickrage/core/config/helpers.py = 85e376ea8ee26819f85015f6091035e2
sickrage/core/config/__init__.py = 443c425c9768736c197db4af54620858
sickrage/core/amqp/consumer.py = b2e4f47a0d1f119e5c3a71cd75ff6acf
sickrage/core/amqp/__init__.py = d64bec8a41b2f2d393b309eb2f33f5f0
......@@ -353,12 +353,12 @@ sickrage/core/webserver/handlers/manage/queues.py = f92d4a8b34b1872e529886f4aa80
sickrage/core/webserver/handlers/manage/__init__.py = 6b79f83afdd5565b06310e22245f882b
sickrage/core/webserver/handlers/api/schemas.py = 7fcfd3dee63378ba5bd8fcbaebbf49ef
sickrage/core/webserver/handlers/api/__init__.py = d4e5ae21437bff15091baf20e3632059
sickrage/core/webserver/handlers/api/v1/__init__.py = e85361797be0bd94628d87a6afea83fd
sickrage/core/webserver/handlers/api/v1/__init__.py = d93a4b1481e3dc5d15932ad460d0eb11
sickrage/core/webserver/handlers/api/v2/__init__.py = 331c145796355d52ae1818bf9fd69ced
sickrage/core/webserver/handlers/api/v2/file_browser/schemas.py = 014e84083401e6b05a9626cb29bd8467
sickrage/core/webserver/handlers/api/v2/file_browser/__init__.py = 5e348f6f96a80a98dca3ae2b9151ac33
sickrage/core/webserver/handlers/api/v2/series/schemas.py = b5159b40ee6d67aa04a85de7c7810284
sickrage/core/webserver/handlers/api/v2/series/__init__.py = ef60e5f0917241444075357ec17d0283
sickrage/core/webserver/handlers/api/v2/series/__init__.py = d46c263366f0dcc333ecb2c546d14402
sickrage/core/webserver/handlers/api/v2/schedule/schemas.py = 4af02a112f828040cbb1cf34ad03fdd5
sickrage/core/webserver/handlers/api/v2/schedule/__init__.py = ee7f141e9f81cfd1d63bf1e1d5e10749
sickrage/core/webserver/handlers/api/v2/series_provider/schemas.py = 014e84083401e6b05a9626cb29bd8467
......@@ -433,7 +433,7 @@ sickrage/core/webserver/static/images/backdrops/config.jpg = ddbe8915317f7860d91
sickrage/core/webserver/static/images/backdrops/home.jpg = 804dfc976638bbf45df310a3627e2d5c
sickrage/core/webserver/static/images/backdrops/schedule.jpg = 0c0e5f4dcee42bfcfb73de100f1d3015
sickrage/core/webserver/static/images/backdrops/history.jpg = b4911bfe3ec57a894b5a16fa1ab479cf
sickrage/core/webserver/static/js/core.min.js = 80253d4981adca99b7a155818b2ca814
sickrage/core/webserver/static/js/core.min.js = 59e826b45ec60b5079e7e9511801374a
sickrage/core/webserver/static/js/core.js.map = cdf19c1422438fb68dd84471031b2c56
sickrage/core/webserver/views/login.mako = 3f6c8e8325928539d6bb70a77b378116
sickrage/core/webserver/views/login_failed.mako = 5684d10edff37970a2285d7d5bb815eb
......
......@@ -195,7 +195,7 @@ class Core(object):
)
self.user_agent = 'SiCKRAGE.CE.1/({};{};{})'.format(platform.system(), platform.release(), str(uuid.uuid1()))
self.languages = [language for language in os.listdir(sickrage.LOCALE_DIR) if '_' in language]
self.languages = [f for f in os.listdir(sickrage.LOCALE_DIR) if os.path.isdir(os.path.join(sickrage.LOCALE_DIR, f))]
self.client_web_urls = {'torrent': '', 'newznab': ''}
self.notification_providers = {}
......
......@@ -112,6 +112,8 @@ def change_gui_lang(language):
# System default language
gettext.install('messages', sickrage.LOCALE_DIR, codeset='UTF-8', names=["ngettext"])
sickrage.app.config.gui.gui_lang = language
def change_unrar_tool(unrar_tool):
# Check for failed unrar attempt, and remove it
......
......@@ -315,8 +315,8 @@ class ShowTaskAdd(ShowTask):
f"probably the wrong language used to search with")
sickrage.app.alerts.error(_("Unable to add show"),
_(f"Show in {self.show_dir} has no name on {sickrage.app.series_providers[self.series_provider_id].name}, "
f"probably the wrong language. Delete .nfo and add manually in the correct language"))
f"Show in {self.show_dir} has no name on {sickrage.app.series_providers[self.series_provider_id].name}, "
f"probably the wrong language. Delete .nfo and add manually in the correct language")
return self._finish_early()
......
......@@ -257,10 +257,9 @@ class UpdateManager(object):
if not self.manual_update:
update_url = f"{sickrage.app.config.general.web_root}/home/update/?pid={sickrage.app.pid}"
message = _(
f'New SiCKRAGE {self.current_branch} {sickrage.install_type()} update available, version {latest_version} &mdash; <a href=\"{update_url}\">Update Now</a>')
message = f'New SiCKRAGE {self.current_branch} {sickrage.install_type()} update available, version {latest_version} &mdash; <a href=\"{update_url}\">Update Now</a>'
else:
message = _(f"New SiCKRAGE {self.current_branch} {sickrage.install_type()} update available, version {latest_version}, please manually update!")
message = f"New SiCKRAGE {self.current_branch} {sickrage.install_type()} update available, version {latest_version}, please manually update!"
sickrage.app.latest_version_string = message
......
......@@ -686,6 +686,7 @@ class CMD_Episode(ApiV1Handler):
"episode": {"desc": "The episode number"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
"full_path": {
"desc": "Return the full absolute show location (if valid, and True), or the relative show location"
......@@ -696,8 +697,8 @@ class CMD_Episode(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_Episode, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
self.s, args = self.check_params("season", None, True, "int", [], *args, **kwargs)
self.e, args = self.check_params("episode", None, True, "int", [], *args, **kwargs)
self.fullPath, args = self.check_params("full_path", False, False, "bool", [], *args, **kwargs)
......@@ -755,6 +756,7 @@ class CMD_EpisodeSearch(ApiV1Handler):
"episode": {"desc": "The episode number"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -762,8 +764,8 @@ class CMD_EpisodeSearch(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_EpisodeSearch, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
self.s, args = self.check_params("season", None, True, "int", [], *args, **kwargs)
self.e, args = self.check_params("episode", None, True, "int", [], *args, **kwargs)
......@@ -805,6 +807,7 @@ class CMD_EpisodeSetStatus(ApiV1Handler):
"status": {"desc": "The status of the episode or season"}
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"episode": {"desc": "The episode number"},
"force": {"desc": "True to replace existing downloaded episode or season, False otherwise"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
......@@ -814,8 +817,8 @@ class CMD_EpisodeSetStatus(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_EpisodeSetStatus, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
self.s, args = self.check_params("season", None, True, "int", [], *args, **kwargs)
self.status, args = self.check_params("status", None, True, "string", ["WANTED", "SKIPPED", "IGNORED", "FAILED"], *args, **kwargs)
self.e, args = self.check_params("episode", None, False, "int", [], *args, **kwargs)
......@@ -899,6 +902,7 @@ class CMD_SubtitleSearch(ApiV1Handler):
"episode": {"desc": "The episode number"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -906,8 +910,8 @@ class CMD_SubtitleSearch(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_SubtitleSearch, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
self.s, args = self.check_params("season", None, True, "int", [], *args, **kwargs)
self.e, args = self.check_params("episode", None, True, "int", [], *args, **kwargs)
......@@ -952,6 +956,7 @@ class CMD_Exceptions(ApiV1Handler):
"desc": "Get the scene exceptions for all or a given show",
"optionalParameters": {
"series_id": {"desc": "Unique ID of a show"},
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -959,8 +964,8 @@ class CMD_Exceptions(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_Exceptions, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, False, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
""" Get the scene exceptions for all or a given show """
......@@ -1510,8 +1515,8 @@ class CMD_SiCKRAGESearchSeriesProvider(ApiV1Handler):
self.name, args = self.check_params("name", None, False, "string", [], *args, **kwargs)
self.lang, args = self.check_params("lang", sickrage.app.config.general.series_provider_default_language, False, "string", [], *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, False, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
""" Search for a show with a given name on a specific series provider, in a specific language """
......@@ -1692,6 +1697,7 @@ class CMD_Show(ApiV1Handler):
"series_id": {"desc": "Unique ID of a show"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -1699,8 +1705,8 @@ class CMD_Show(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_Show, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
""" Get detailed information about a show """
......@@ -1778,10 +1784,10 @@ class CMD_ShowAddExisting(ApiV1Handler):
"desc": "Add an existing show in SiCKRAGE",
"requiredParameters": {
"series_id": {"desc": "Unique ID of a show"},
"series_provider_id": {"desc": "Unique ID of a series provider"},
"location": {"desc": "Full path to the existing shows's folder"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"initial": {"desc": "The initial quality of the show"},
"archive": {"desc": "The archive quality of the show"},
"flatten_folders": {"desc": "True to flatten the show folder, False otherwise"},
......@@ -1792,8 +1798,8 @@ class CMD_ShowAddExisting(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowAddExisting, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
self.location, args = self.check_params("location", None, True, "string", [], *args, **kwargs)
self.initial, args = self.check_params("initial", None, False, "list", any_quality_list, *args, **kwargs)
self.archive, args = self.check_params("archive", None, False, "list", best_quality_list, *args, **kwargs)
......@@ -1863,9 +1869,9 @@ class CMD_ShowAddNew(ApiV1Handler):
"desc": "Add a new show to SiCKRAGE",
"requiredParameters": {
"series_id": {"desc": "Unique ID of a show"},
"series_provider_id": {"desc": "Unique ID of a series provider"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"initial": {"desc": "The initial quality of the show"},
"location": {"desc": "The path to the folder where the show should be created"},
"archive": {"desc": "The archive quality of the show"},
......@@ -1889,8 +1895,8 @@ class CMD_ShowAddNew(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowAddNew, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
self.location, args = self.check_params("location", None, False, "string", [], *args, **kwargs)
self.initial, args = self.check_params("initial", None, False, "list", any_quality_list, *args, **kwargs)
self.archive, args = self.check_params("archive", None, False, "list", best_quality_list, *args, **kwargs)
......@@ -2011,6 +2017,7 @@ class CMD_ShowCache(ApiV1Handler):
"series_id": {"desc": "Unique ID of a show"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -2018,8 +2025,8 @@ class CMD_ShowCache(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowCache, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
""" Check SiCKRAGE's cache to see if the images (poster, banner, fanart) for a show are valid """
......@@ -2051,6 +2058,7 @@ class CMD_ShowDelete(ApiV1Handler):
"series_id": {"desc": "Unique ID of a show"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
"removefiles": {
"desc": "True to delete the files associated with the show, False otherwise. This can not be undone!"
......@@ -2061,8 +2069,8 @@ class CMD_ShowDelete(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowDelete, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
self.removefiles, args = self.check_params("removefiles", False, False, "bool", [], *args, **kwargs)
def run(self):
......@@ -2087,6 +2095,7 @@ class CMD_ShowGetQuality(ApiV1Handler):
"series_id": {"desc": "Unique ID of a show"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -2094,8 +2103,8 @@ class CMD_ShowGetQuality(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowGetQuality, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
""" Get the quality setting of a show """
......@@ -2116,6 +2125,7 @@ class CMD_ShowGetPoster(ApiV1Handler):
"series_id": {"desc": "Unique ID of a show"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -2123,8 +2133,8 @@ class CMD_ShowGetPoster(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowGetPoster, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
""" Get the poster a show """
......@@ -2142,6 +2152,7 @@ class CMD_ShowGetBanner(ApiV1Handler):
"series_id": {"desc": "Unique ID of a show"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -2149,8 +2160,8 @@ class CMD_ShowGetBanner(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowGetBanner, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
""" Get the banner of a show """
......@@ -2168,6 +2179,7 @@ class CMD_ShowGetNetworkLogo(ApiV1Handler):
"series_id": {"desc": "Unique ID of a show"},
},
"optionalParameters": {
"series_provider_id": {"desc": "Unique ID of series provider"},
"tvdbid": {"desc": "thetvdb.com unique ID of a show"},
}
}
......@@ -2175,8 +2187,8 @@ class CMD_ShowGetNetworkLogo(ApiV1Handler):
def __init__(self, application, request, *args, **kwargs):
super(CMD_ShowGetNetworkLogo, self).__init__(application, request, *args, **kwargs)
self.series_id, args = self.check_params("series_id", None, True, "int", [], *args, **kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", None, True, "string", [x.name.lower() for x in SeriesProviderID], *args,
**kwargs)
self.series_provider_id, args = self.check_params("series_provider_id", sickrage.app.config.general.series_provider_default.value, False, "string",
[x.name.lower() for x in SeriesProviderID], *args, **kwargs)
def run(self):
"""
......@@ -2196,6 +2208,7 @@ class CMD_ShowGetFanArt(ApiV1Handler):