plexflow 0.0.118__py3-none-any.whl → 0.0.119__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.
@@ -13,3 +13,4 @@ from plexflow.core.context.partials.candidates import Candidates
13
13
  from plexflow.core.context.partials.completed_downloads import CompletedDownloads
14
14
  from plexflow.core.context.partials.movie_assets import MovieAssets
15
15
  from plexflow.core.context.partials.torrent_deadline import TorrentDeadline
16
+ from plexflow.core.context.partials.torrent_blacklist import TorrentBlacklist
@@ -0,0 +1,18 @@
1
+ from plexflow.core.context.partial_context import PartialContext
2
+ from qbittorrentapi.torrents import TorrentDictionary
3
+
4
+ class TorrentBlacklist(PartialContext):
5
+ def __init__(self, **kwargs) -> None:
6
+ super().__init__(**kwargs)
7
+
8
+ def ban(self, torrent: TorrentDictionary):
9
+ hash = torrent.hash
10
+ key = f"blacklist/torrents/{hash}"
11
+ self.set_global(key, torrent)
12
+
13
+ def is_banned(self, hash: str) -> bool:
14
+ try:
15
+ torrent = self.get_global(f"blacklist/torrents/{hash}")
16
+ return isinstance(torrent, TorrentDictionary)
17
+ except:
18
+ return False
@@ -61,9 +61,9 @@ def is_completed(torrent: TorrentDictionary) -> bool:
61
61
  def is_downloading(torrent: TorrentDictionary) -> bool:
62
62
  return torrent.state in [
63
63
  "downloading",
64
- "stalled_downloading",
64
+ # "stalled_downloading",
65
65
  "checking",
66
- "stalledDL",
66
+ # "stalledDL",
67
67
  "forcedDL",
68
68
  ]
69
69
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: plexflow
3
- Version: 0.0.118
3
+ Version: 0.0.119
4
4
  Summary: A short description of the package.
5
5
  License: MIT
6
6
  Keywords: keyword1,keyword2,keyword3
@@ -20,7 +20,7 @@ plexflow/core/context/metadata/tmdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
20
20
  plexflow/core/context/metadata/tmdb/__pycache__/context.cpython-311.pyc,sha256=dcvTi-0PnZfbLfsLu5QuX_jpAeQYmZR7ZbjzQMHQov4,2627
21
21
  plexflow/core/context/metadata/tmdb/context.py,sha256=zlI_Zs_1bAdR60xtl4j2_UBhIery1VcsQz2a53l5g20,1521
22
22
  plexflow/core/context/partial_context.py,sha256=684qHyQ-ulkZnXm-CMmhP7ont-9lIi1WEAbLTjyS4kA,2301
23
- plexflow/core/context/partials/__init__.py,sha256=mqTqe5ANIK7TQRKoSolPIEt4OJ3i66y2_-aUlOrCL_c,990
23
+ plexflow/core/context/partials/__init__.py,sha256=YUZlUl6vZlFV4ncwezVX1fDKs0B9gwUIXVyqkIPzMQ8,1068
24
24
  plexflow/core/context/partials/__pycache__/__init__.cpython-311.pyc,sha256=x_5HUdt-0vrq9LMmc8Vj0usxqQ_ZHD4WZd4HrvhwAZc,346
25
25
  plexflow/core/context/partials/__pycache__/ids.cpython-311.pyc,sha256=wV7r4FAwonAshns-NGcowqGamtrM_Q_2NbiHQhOLkjg,2638
26
26
  plexflow/core/context/partials/__pycache__/watchlist.cpython-311.pyc,sha256=k-0BM-AvH-zObpwY0XR8CYrT21kPEa0fmeBmf0wscE0,1466
@@ -35,6 +35,7 @@ plexflow/core/context/partials/reports.py,sha256=0W58RwK3VSsVHbF0rhvMNNlZZr01eut
35
35
  plexflow/core/context/partials/subtitles.py,sha256=0NhKGkP-sArQswuSyA7puRSjjoobF-3Ah7Pd39QkgTU,535
36
36
  plexflow/core/context/partials/tgx_batch.py,sha256=TduB09oBOQ8CtmPYsHIeNe7AI-ypKw21zQAX-7qktEs,859
37
37
  plexflow/core/context/partials/tgx_context.py,sha256=_FuhOvKsFqi_uynHxgC9_QIR2CfYmz-uJCRFtGFJmXI,1641
38
+ plexflow/core/context/partials/torrent_blacklist.py,sha256=6Uf65CF7M-JdgDt3k4Hi9WIpMkabp2eI4Ryubhjco0s,623
38
39
  plexflow/core/context/partials/torrent_deadline.py,sha256=Nr5HqvAy0VT-GSd9eYPkUtKZqHpWhniE9P51xXFOji8,782
39
40
  plexflow/core/context/partials/torrents.py,sha256=GtO4rlb7V2N-4QEWt-ODssEsdUlQ2o0lTo_BFI5i3lw,1109
40
41
  plexflow/core/context/partials/universal_torrents.py,sha256=yohdSEhspSdvmrI6NeBB2Racb7yS2kz7qyFat6gNw6k,563
@@ -77,7 +78,7 @@ plexflow/core/downloads/candidates/rank/utils.py,sha256=R4Ai4KmZRONo9vd2rf32DdGx
77
78
  plexflow/core/downloads/candidates/utils.py,sha256=BnuDSRjU9mVYSh9ejKgfvlLi0bWEqc07uLyskC-bYhw,1874
78
79
  plexflow/core/downloads/qbit/__pycache__/interface.cpython-312.pyc,sha256=szUoTWpZNpHwJ0OnXer8ZLeAYIvHND-rX1lB2Juv-J4,3335
79
80
  plexflow/core/downloads/qbit/__pycache__/schedule.cpython-312.pyc,sha256=ESOLrk6sLpb1mtijuDGNKvAHaYopVQBwSDzdt8dFNow,1350
80
- plexflow/core/downloads/qbit/interface.py,sha256=26--RLSWYnI8nx4UThF2qu3Lm7hqpOxKw5Sp47qqg2o,2435
81
+ plexflow/core/downloads/qbit/interface.py,sha256=QeBxe786H-JANSMEwueTE1t9xwYSZ3Ewkng8Me0_xC0,2440
81
82
  plexflow/core/downloads/qbit/schedule.py,sha256=5w3JpbIGRc5xS_ZjfKXMXywi-2NXL_2y_Izx0DmUGnE,907
82
83
  plexflow/core/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
84
  plexflow/core/env/env.py,sha256=8cK49WiKD_H3B9K0QiMu7pkXTld40ojRB3sK7noQM44,953
@@ -697,7 +698,7 @@ plexflow/utils/video/__pycache__/audio.cpython-312.pyc,sha256=vXBnJwWgTDFdixMBs-
697
698
  plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc,sha256=PCjpCLydGXaRsQy6cikhgsEs8WlComfOoYPiLFqfVMA,2515
698
699
  plexflow/utils/video/audio.py,sha256=tJ_lNwcjVuBQYD5cYOlXpr__eh8-hnReIgNRgIYOpqo,3380
699
700
  plexflow/utils/video/subtitle.py,sha256=qPvvBjlPj0fynJJvGJgGeKt9ey26R-cF6EoLaYt9iXU,1333
700
- plexflow-0.0.118.dist-info/METADATA,sha256=1l8zKckww9-3crNzZe_l-tW8ot03de3k9jzaOhd1KcU,3094
701
- plexflow-0.0.118.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
702
- plexflow-0.0.118.dist-info/entry_points.txt,sha256=SSLjrLcZa2880346VUIsCG9vcLsquf-RTX9pkdNaTO8,1498
703
- plexflow-0.0.118.dist-info/RECORD,,
701
+ plexflow-0.0.119.dist-info/METADATA,sha256=GfzyAhubItgqL_NBauP7ANbZNmvFiqhdpD_vsnIN1Hc,3094
702
+ plexflow-0.0.119.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
703
+ plexflow-0.0.119.dist-info/entry_points.txt,sha256=SSLjrLcZa2880346VUIsCG9vcLsquf-RTX9pkdNaTO8,1498
704
+ plexflow-0.0.119.dist-info/RECORD,,