qBitrr2 5.6.2__py3-none-any.whl → 5.7.1__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.
- qBitrr/arss.py +653 -158
- qBitrr/bundled_data.py +2 -2
- qBitrr/config.py +1 -1
- qBitrr/gen_config.py +84 -41
- qBitrr/main.py +448 -16
- qBitrr/static/assets/ArrView.js +1 -1
- qBitrr/static/assets/ArrView.js.map +1 -1
- qBitrr/static/assets/ConfigView.js +5 -4
- qBitrr/static/assets/ConfigView.js.map +1 -1
- qBitrr/static/assets/LogsView.js +1 -1
- qBitrr/static/assets/LogsView.js.map +1 -1
- qBitrr/static/assets/ProcessesView.js +1 -1
- qBitrr/static/assets/ProcessesView.js.map +1 -1
- qBitrr/static/assets/app.js +2 -2
- qBitrr/static/assets/app.js.map +1 -1
- qBitrr/static/assets/vendor.js +1 -1
- qBitrr/static/assets/vendor.js.map +1 -1
- qBitrr/tables.py +7 -0
- qBitrr/webui.py +48 -1
- {qbitrr2-5.6.2.dist-info → qbitrr2-5.7.1.dist-info}/METADATA +24 -2
- {qbitrr2-5.6.2.dist-info → qbitrr2-5.7.1.dist-info}/RECORD +25 -25
- {qbitrr2-5.6.2.dist-info → qbitrr2-5.7.1.dist-info}/WHEEL +0 -0
- {qbitrr2-5.6.2.dist-info → qbitrr2-5.7.1.dist-info}/entry_points.txt +0 -0
- {qbitrr2-5.6.2.dist-info → qbitrr2-5.7.1.dist-info}/licenses/LICENSE +0 -0
- {qbitrr2-5.6.2.dist-info → qbitrr2-5.7.1.dist-info}/top_level.txt +0 -0
qBitrr/bundled_data.py
CHANGED
qBitrr/config.py
CHANGED
|
@@ -151,7 +151,7 @@ PING_URLS = ENVIRO_CONFIG.settings.ping_urls or CONFIG.get(
|
|
|
151
151
|
"Settings.PingURLS", fallback=["one.one.one.one", "dns.google.com"]
|
|
152
152
|
)
|
|
153
153
|
IGNORE_TORRENTS_YOUNGER_THAN = ENVIRO_CONFIG.settings.ignore_torrents_younger_than or CONFIG.get(
|
|
154
|
-
"Settings.IgnoreTorrentsYoungerThan", fallback=
|
|
154
|
+
"Settings.IgnoreTorrentsYoungerThan", fallback=180
|
|
155
155
|
)
|
|
156
156
|
QBIT_DISABLED = (
|
|
157
157
|
CONFIG.get("qBit.Disabled", fallback=False)
|
qBitrr/gen_config.py
CHANGED
|
@@ -385,48 +385,56 @@ def _gen_default_torrent_table(category: str, cat_default: Table):
|
|
|
385
385
|
"CaseSensitiveMatches",
|
|
386
386
|
False,
|
|
387
387
|
)
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
"
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
388
|
+
# Set folder exclusions based on category type
|
|
389
|
+
if "anime" in category.lower():
|
|
390
|
+
# Anime-specific exclusions (includes OVA, specials, NCOP/NCED)
|
|
391
|
+
folder_exclusions = [
|
|
392
|
+
r"\bextras?\b",
|
|
393
|
+
r"\bfeaturettes?\b",
|
|
394
|
+
r"\bsamples?\b",
|
|
395
|
+
r"\bscreens?\b",
|
|
396
|
+
r"\bspecials?\b",
|
|
397
|
+
r"\bova\b",
|
|
398
|
+
r"\bnc(ed|op)?(\\d+)?\b",
|
|
399
|
+
]
|
|
400
|
+
elif "lidarr" in category.lower():
|
|
401
|
+
# Music-specific exclusions (no NCOP/NCED, no featurettes)
|
|
402
|
+
folder_exclusions = [
|
|
403
|
+
r"\bextras?\b",
|
|
404
|
+
r"\bsamples?\b",
|
|
405
|
+
r"\bscreens?\b",
|
|
406
|
+
]
|
|
404
407
|
else:
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
"
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
r"\bfeaturettes?\b",
|
|
415
|
-
r"\bsamples?\b",
|
|
416
|
-
r"\bscreens?\b",
|
|
417
|
-
r"\bspecials?\b",
|
|
418
|
-
r"\bova\b",
|
|
419
|
-
r"\bnc(ed|op)?(\\d+)?\b",
|
|
420
|
-
],
|
|
421
|
-
)
|
|
408
|
+
# Standard video exclusions (movies/TV shows)
|
|
409
|
+
folder_exclusions = [
|
|
410
|
+
r"\bextras?\b",
|
|
411
|
+
r"\bfeaturettes?\b",
|
|
412
|
+
r"\bsamples?\b",
|
|
413
|
+
r"\bscreens?\b",
|
|
414
|
+
r"\bnc(ed|op)?(\\d+)?\b",
|
|
415
|
+
]
|
|
416
|
+
|
|
422
417
|
_gen_default_line(
|
|
423
418
|
torrent_table,
|
|
424
419
|
[
|
|
425
420
|
"These regex values will match any folder where the full name matches the specified values here, comma separated strings.",
|
|
426
421
|
"These regex need to be escaped, that's why you see so many backslashes.",
|
|
427
422
|
],
|
|
428
|
-
"
|
|
429
|
-
|
|
423
|
+
"FolderExclusionRegex",
|
|
424
|
+
folder_exclusions,
|
|
425
|
+
)
|
|
426
|
+
# Set filename exclusions based on category type
|
|
427
|
+
if "lidarr" in category.lower():
|
|
428
|
+
# Music-specific exclusions (no NCOP/NCED, no "music video" since that's actual music content)
|
|
429
|
+
filename_exclusions = [
|
|
430
|
+
r"\bsample\b",
|
|
431
|
+
r"brarbg.com\b",
|
|
432
|
+
r"\btrailer\b",
|
|
433
|
+
r"comandotorrents.com",
|
|
434
|
+
]
|
|
435
|
+
else:
|
|
436
|
+
# Video exclusions (movies/TV/anime)
|
|
437
|
+
filename_exclusions = [
|
|
430
438
|
r"\bncop\\d+?\b",
|
|
431
439
|
r"\bnced\\d+?\b",
|
|
432
440
|
r"\bsample\b",
|
|
@@ -434,13 +442,40 @@ def _gen_default_torrent_table(category: str, cat_default: Table):
|
|
|
434
442
|
r"\btrailer\b",
|
|
435
443
|
r"music video",
|
|
436
444
|
r"comandotorrents.com",
|
|
445
|
+
]
|
|
446
|
+
|
|
447
|
+
_gen_default_line(
|
|
448
|
+
torrent_table,
|
|
449
|
+
[
|
|
450
|
+
"These regex values will match any folder where the full name matches the specified values here, comma separated strings.",
|
|
451
|
+
"These regex need to be escaped, that's why you see so many backslashes.",
|
|
437
452
|
],
|
|
438
|
-
|
|
453
|
+
"FileNameExclusionRegex",
|
|
454
|
+
filename_exclusions,
|
|
455
|
+
)
|
|
456
|
+
# Set appropriate file extensions based on category type
|
|
457
|
+
if "lidarr" in category.lower():
|
|
458
|
+
file_extensions = [
|
|
459
|
+
".mp3",
|
|
460
|
+
".flac",
|
|
461
|
+
".m4a",
|
|
462
|
+
".aac",
|
|
463
|
+
".ogg",
|
|
464
|
+
".opus",
|
|
465
|
+
".wav",
|
|
466
|
+
".ape",
|
|
467
|
+
".wma",
|
|
468
|
+
".!qB",
|
|
469
|
+
".parts",
|
|
470
|
+
]
|
|
471
|
+
else:
|
|
472
|
+
file_extensions = [".mp4", ".mkv", ".sub", ".ass", ".srt", ".!qB", ".parts"]
|
|
473
|
+
|
|
439
474
|
_gen_default_line(
|
|
440
475
|
torrent_table,
|
|
441
476
|
"Only files with these extensions will be allowed to be downloaded, comma separated strings or regex, leave it empty to allow all extensions",
|
|
442
477
|
"FileExtensionAllowlist",
|
|
443
|
-
|
|
478
|
+
file_extensions,
|
|
444
479
|
)
|
|
445
480
|
_gen_default_line(
|
|
446
481
|
torrent_table,
|
|
@@ -698,9 +733,15 @@ def _gen_default_search_table(category: str, cat_default: Table):
|
|
|
698
733
|
)
|
|
699
734
|
# SearchByYear doesn't apply to Lidarr (music albums)
|
|
700
735
|
if "lidarr" not in category.lower():
|
|
736
|
+
if "sonarr" in category.lower():
|
|
737
|
+
search_by_year_comment = (
|
|
738
|
+
"It will order searches by the year the episode was first aired"
|
|
739
|
+
)
|
|
740
|
+
else:
|
|
741
|
+
search_by_year_comment = "It will order searches by the year the movie was released"
|
|
701
742
|
_gen_default_line(
|
|
702
743
|
search_table,
|
|
703
|
-
|
|
744
|
+
search_by_year_comment,
|
|
704
745
|
"SearchByYear",
|
|
705
746
|
True,
|
|
706
747
|
)
|
|
@@ -711,12 +752,14 @@ def _gen_default_search_table(category: str, cat_default: Table):
|
|
|
711
752
|
False,
|
|
712
753
|
)
|
|
713
754
|
_gen_default_line(
|
|
714
|
-
search_table,
|
|
755
|
+
search_table,
|
|
756
|
+
"Delay (in seconds) between checking for new Overseerr/Ombi requests. Does NOT affect delay between individual search commands (use Settings.SearchLoopDelay for that).",
|
|
757
|
+
"SearchRequestsEvery",
|
|
758
|
+
300,
|
|
715
759
|
)
|
|
716
760
|
_gen_default_line(
|
|
717
761
|
search_table,
|
|
718
|
-
"Search
|
|
719
|
-
"better quality version.",
|
|
762
|
+
"Search media which already have a file in hopes of finding a better quality version.",
|
|
720
763
|
"DoUpgradeSearch",
|
|
721
764
|
False,
|
|
722
765
|
)
|