plexflow 0.0.96__py3-none-any.whl → 0.0.98__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.
@@ -10,3 +10,4 @@ from plexflow.core.context.partials.reports import TorrentAnalysisReports
10
10
  from plexflow.core.context.partials.subtitles import Subtitles
11
11
  from plexflow.core.context.partials.universal_torrents import UniversalTorrents
12
12
  from plexflow.core.context.partials.candidates import Candidates
13
+ from plexflow.core.context.partials.completed_downloads import CompletedDownloads
@@ -0,0 +1,15 @@
1
+ from plexflow.core.context.partial_context import PartialContext
2
+ from typing import List
3
+ from qbittorrentapi.torrents import TorrentDictionary
4
+
5
+ class CompletedDownloads(PartialContext):
6
+ def __init__(self, **kwargs) -> None:
7
+ super().__init__(**kwargs)
8
+
9
+ def all(self) -> List[TorrentDictionary]:
10
+ return self.get("download/completed")
11
+
12
+ def update(self, downloads: List[TorrentDictionary]):
13
+ if len(downloads) == 0:
14
+ return
15
+ self.set("download/completed", downloads)
@@ -34,6 +34,20 @@ def force_start(torrent: TorrentDictionary, **kwargs):
34
34
  with qbittorrentapi.Client(**conn_info) as qbt_client:
35
35
  return qbt_client.torrents_setForceStart(enable=True, torrent_hashes=torrent.hash)
36
36
 
37
+ def remove(torrent: TorrentDictionary, hard: bool, **kwargs):
38
+ # instantiate a Client using the appropriate WebUI configuration
39
+ conn_info = dict(
40
+ host=kwargs.get("qbit_host"),
41
+ port=kwargs.get("qbit_port"),
42
+ username=kwargs.get("qbit_username"),
43
+ password=kwargs.get("qbit_password"),
44
+ )
45
+ qbt_client = qbittorrentapi.Client(**conn_info)
46
+
47
+ # or use a context manager:
48
+ with qbittorrentapi.Client(**conn_info) as qbt_client:
49
+ return qbt_client.torrents_delete(delete_files=hard, torrent_hashes=torrent.hash)
50
+
37
51
  def is_completed(torrent: TorrentDictionary) -> bool:
38
52
  return torrent.state in [
39
53
  "seeding",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: plexflow
3
- Version: 0.0.96
3
+ Version: 0.0.98
4
4
  Summary: A short description of the package.
5
5
  License: MIT
6
6
  Keywords: keyword1,keyword2,keyword3
@@ -20,12 +20,13 @@ 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=Ptad0ZLRgE0FPIJlYzPIGCtrOlxU1mJzScaXzENlgY8,2010
23
- plexflow/core/context/partials/__init__.py,sha256=oLSaTaAGejMIB1DtBg8xaXUbA3qK43zv48-k0HWxhjI,764
23
+ plexflow/core/context/partials/__init__.py,sha256=6Kr73gP33JOtopWEOK2I1brStbD_1qdB25c7hWVJK9I,846
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
27
27
  plexflow/core/context/partials/cache.py,sha256=1QQ6yP69wqJiacuc2idhHsXpyUUCqavqgLk25wQB_tI,508
28
28
  plexflow/core/context/partials/candidates.py,sha256=TnAPeSEolchQ3znT40xKjEQfeCl9qAMLFThWaeT46JY,1033
29
+ plexflow/core/context/partials/completed_downloads.py,sha256=18QO2BVFbFarqP0JYJeeuCc4j60maTf5DvIYmqQUb-U,516
29
30
  plexflow/core/context/partials/context.py,sha256=pFzpAFxwCJdqPuhXJqhs6j4Xyvf0GQtzPRMmL4fcjEA,314
30
31
  plexflow/core/context/partials/ids.py,sha256=QoQ6FbX1OIWrE-iuz-G6kSzBlTt1_I1jyfl2JgKge2o,913
31
32
  plexflow/core/context/partials/movie.py,sha256=VXQ2SspFgGSRgDefg4VlHrH2fns3KRuKlU72ps6527o,3861
@@ -72,9 +73,9 @@ plexflow/core/downloads/candidates/rank/__pycache__/utils.cpython-312.pyc,sha256
72
73
  plexflow/core/downloads/candidates/rank/ranking.py,sha256=p86f3DQmXJNE53gPk9E5RcKA7dgXI4wPQsIh9ae1uxY,2490
73
74
  plexflow/core/downloads/candidates/rank/utils.py,sha256=R4Ai4KmZRONo9vd2rf32DdGxVkANHYFwSjrO5WVjX9U,100
74
75
  plexflow/core/downloads/candidates/utils.py,sha256=ahI6bvk7CHT_O0BEXsd7FtC180Swlt9Phj6_op1mhYA,1777
75
- plexflow/core/downloads/qbit/__pycache__/interface.cpython-312.pyc,sha256=YEgG578GU-8Un84wDn1ApL6SaA4LZgyO3wBJV7LVBcI,2617
76
+ plexflow/core/downloads/qbit/__pycache__/interface.cpython-312.pyc,sha256=szUoTWpZNpHwJ0OnXer8ZLeAYIvHND-rX1lB2Juv-J4,3335
76
77
  plexflow/core/downloads/qbit/__pycache__/schedule.cpython-312.pyc,sha256=ESOLrk6sLpb1mtijuDGNKvAHaYopVQBwSDzdt8dFNow,1350
77
- plexflow/core/downloads/qbit/interface.py,sha256=CvhpWidJpuWDWITbWe9NIgXXVflrmrdnesVqt18BSGY,1873
78
+ plexflow/core/downloads/qbit/interface.py,sha256=26--RLSWYnI8nx4UThF2qu3Lm7hqpOxKw5Sp47qqg2o,2435
78
79
  plexflow/core/downloads/qbit/schedule.py,sha256=5w3JpbIGRc5xS_ZjfKXMXywi-2NXL_2y_Izx0DmUGnE,907
79
80
  plexflow/core/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
81
  plexflow/core/env/env.py,sha256=8cK49WiKD_H3B9K0QiMu7pkXTld40ojRB3sK7noQM44,953
@@ -681,7 +682,7 @@ plexflow/utils/video/__pycache__/audio.cpython-312.pyc,sha256=vXBnJwWgTDFdixMBs-
681
682
  plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc,sha256=PCjpCLydGXaRsQy6cikhgsEs8WlComfOoYPiLFqfVMA,2515
682
683
  plexflow/utils/video/audio.py,sha256=tJ_lNwcjVuBQYD5cYOlXpr__eh8-hnReIgNRgIYOpqo,3380
683
684
  plexflow/utils/video/subtitle.py,sha256=LOGONGxs_RzmqtGP-DBKreOzS1eUFEKo75Q6AfnavW0,1290
684
- plexflow-0.0.96.dist-info/METADATA,sha256=IwNJMCN6obFbsOMUbmHMomxPVEyNzU6MWexbAlV-4JQ,3007
685
- plexflow-0.0.96.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
686
- plexflow-0.0.96.dist-info/entry_points.txt,sha256=uZc6ohXod3uudTgfeTqnkXBS4Cb7eajdjeqZc3P0PX4,1456
687
- plexflow-0.0.96.dist-info/RECORD,,
685
+ plexflow-0.0.98.dist-info/METADATA,sha256=uoGWqL6wR8vct5iipyLRIN5iLiDvt3oO7YkxIyTe018,3007
686
+ plexflow-0.0.98.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
687
+ plexflow-0.0.98.dist-info/entry_points.txt,sha256=uZc6ohXod3uudTgfeTqnkXBS4Cb7eajdjeqZc3P0PX4,1456
688
+ plexflow-0.0.98.dist-info/RECORD,,