plexflow 0.0.117__py3-none-any.whl → 0.0.118__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.
@@ -12,3 +12,4 @@ from plexflow.core.context.partials.universal_torrents import UniversalTorrents
12
12
  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
+ from plexflow.core.context.partials.torrent_deadline import TorrentDeadline
@@ -0,0 +1,23 @@
1
+ from plexflow.core.context.partial_context import PartialContext
2
+ from qbittorrentapi.torrents import TorrentDictionary
3
+ from datetime import datetime
4
+
5
+ class TorrentDeadline(PartialContext):
6
+ def __init__(self, **kwargs) -> None:
7
+ super().__init__(**kwargs)
8
+
9
+ def track(self, torrent: TorrentDictionary, deadline: datetime):
10
+ hash = torrent.hash
11
+ key = f"deadlines/torrents/{hash}"
12
+ self.set(key, deadline)
13
+
14
+ def deadline(self, torrent: TorrentDictionary) -> datetime:
15
+ try:
16
+ hash = torrent.hash
17
+ return self.get(f"deadlines/torrents/{hash}")
18
+ except:
19
+ return None
20
+
21
+ def reset(self, torrent: TorrentDictionary):
22
+ hash = torrent.hash
23
+ self.set(f"deadlines/torrents/{hash}", None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: plexflow
3
- Version: 0.0.117
3
+ Version: 0.0.118
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=K1Lmu1AaAELk8bhTavtqXfQzVv-DGjGwqapbV5miguc,914
23
+ plexflow/core/context/partials/__init__.py,sha256=mqTqe5ANIK7TQRKoSolPIEt4OJ3i66y2_-aUlOrCL_c,990
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_deadline.py,sha256=Nr5HqvAy0VT-GSd9eYPkUtKZqHpWhniE9P51xXFOji8,782
38
39
  plexflow/core/context/partials/torrents.py,sha256=GtO4rlb7V2N-4QEWt-ODssEsdUlQ2o0lTo_BFI5i3lw,1109
39
40
  plexflow/core/context/partials/universal_torrents.py,sha256=yohdSEhspSdvmrI6NeBB2Racb7yS2kz7qyFat6gNw6k,563
40
41
  plexflow/core/context/partials/watchlist.py,sha256=XL4H3AXHhyuhuImm3OBfrOmlc9rMvVhBJJGumQijM-c,1108
@@ -65,7 +66,7 @@ plexflow/core/downloads/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
65
66
  plexflow/core/downloads/__pycache__/__init__.cpython-312.pyc,sha256=soaT0G2pvzN68xVkNyM9AKW0bhpmjqhIeF35mfoREDI,159
66
67
  plexflow/core/downloads/candidates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
68
  plexflow/core/downloads/candidates/__pycache__/__init__.cpython-312.pyc,sha256=rukNX00PSteBonRk-cayzNRk17ypWfE4noOAR3Ibjn0,170
68
- plexflow/core/downloads/candidates/__pycache__/download_candidate.cpython-312.pyc,sha256=f4h0U6Cue2z5QaU_Ik7zHTqITe0SLVSeNRLvIVwsB3c,9487
69
+ plexflow/core/downloads/candidates/__pycache__/download_candidate.cpython-312.pyc,sha256=6qCk-6nvWxTczY0G7FbY_tQ2xOqllQrVdROnm_IdkBg,9573
69
70
  plexflow/core/downloads/candidates/__pycache__/utils.cpython-312.pyc,sha256=Jwoj7R4TFzjoXc3uq_Wps3WitzFE9K_miKp9XuT_l8Y,2079
70
71
  plexflow/core/downloads/candidates/download_candidate.py,sha256=6lQbtNw8uGr5B8qrkOOCxxvCKGHvFoEq8JjHGNB5FN8,5989
71
72
  plexflow/core/downloads/candidates/filtered.py,sha256=HgUY0S3aWAeHASHTjND9hyjCtGNLhUzLOL90G2CDxKg,1842
@@ -381,6 +382,8 @@ plexflow/core/subtitles/results/__pycache__/__init__.cpython-312.pyc,sha256=pbtC
381
382
  plexflow/core/subtitles/results/__pycache__/subtitle.cpython-311.pyc,sha256=CjeZEPM8DrolKN7eIIHM2kEN3gdc90yhdZssUN0ImdY,6400
382
383
  plexflow/core/subtitles/results/__pycache__/subtitle.cpython-312.pyc,sha256=kDLEfwKiTgKMvis6GQ19lXs8Ybz09KV8tgMLx6D1BhE,5984
383
384
  plexflow/core/subtitles/results/subtitle.py,sha256=1_xeg_l93b-gWRJEKrOSA8k1OlNOfJgotFWWsfgiUvM,3852
385
+ plexflow/core/subtitles/utils/__pycache__/plex_external_subtitle.cpython-312.pyc,sha256=942Iu0hDqZc33IGGI1ig8a9ToViytcAVYCGl8XsOkaQ,1069
386
+ plexflow/core/subtitles/utils/__pycache__/plex_subtitle.cpython-312.pyc,sha256=s9vex0jRTLFV3bpkoAEhlAaJyaqlVdgkPx6yl2r0kqk,1373
384
387
  plexflow/core/subtitles/utils/plex_external_subtitle.py,sha256=LOhYDFZNgAhXROdJeqWwI1EeGLGpo5MQZtB0lwgIfbU,407
385
388
  plexflow/core/subtitles/utils/plex_internal_subtitle.py,sha256=kFM789VRX7BuTldYmjCUG22E06xWgEej2L3U5Bp4JHI,185
386
389
  plexflow/core/subtitles/utils/plex_subtitle.py,sha256=djARWfuKF7GXyeS0tm6yVtEtMATDoPl61_ja1NTWYUY,470
@@ -533,7 +536,7 @@ plexflow/core/torrents/results/__pycache__/__init__.cpython-311.pyc,sha256=FJHx4
533
536
  plexflow/core/torrents/results/__pycache__/__init__.cpython-312.pyc,sha256=R6gHDW2Mf6MOoU7PPk7iLMe2kgPqao_Y6HbKAb5ZhUg,166
534
537
  plexflow/core/torrents/results/__pycache__/torrent.cpython-311.pyc,sha256=SxfylbSxF9gpzXvNey4Fv9XdKLjwm0a0LYlGFhg7zAY,7655
535
538
  plexflow/core/torrents/results/__pycache__/torrent.cpython-312.pyc,sha256=z8-iig6fvJcqj8R4C77wPLftziDCGuDg0uh_dlq2Qwc,8481
536
- plexflow/core/torrents/results/__pycache__/universal.cpython-312.pyc,sha256=4YaHNJVbQ1E54TnIf0emht7-_nABH_pDRd_Ki3v5KDY,14162
539
+ plexflow/core/torrents/results/__pycache__/universal.cpython-312.pyc,sha256=jnFYw7Glwq9jgyOVTn9yDGWWDCgaM91KZgQmHU16KI8,14162
537
540
  plexflow/core/torrents/results/__pycache__/utils.cpython-312.pyc,sha256=vqEt3jQLzZ-K_E9WV0kKz4K79AScvcg2xyOUTlAcu70,1136
538
541
  plexflow/core/torrents/results/torrent.py,sha256=hSYlP_0Uktumi4wzXqIJ-WRRi5YAlvrZVhf_treXDrI,5203
539
542
  plexflow/core/torrents/results/universal.py,sha256=ycprOMT1Px8IthmB82YhmnxeNt7P3GAcrOlEkpKoaQk,7706
@@ -694,7 +697,7 @@ plexflow/utils/video/__pycache__/audio.cpython-312.pyc,sha256=vXBnJwWgTDFdixMBs-
694
697
  plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc,sha256=PCjpCLydGXaRsQy6cikhgsEs8WlComfOoYPiLFqfVMA,2515
695
698
  plexflow/utils/video/audio.py,sha256=tJ_lNwcjVuBQYD5cYOlXpr__eh8-hnReIgNRgIYOpqo,3380
696
699
  plexflow/utils/video/subtitle.py,sha256=qPvvBjlPj0fynJJvGJgGeKt9ey26R-cF6EoLaYt9iXU,1333
697
- plexflow-0.0.117.dist-info/METADATA,sha256=ZhT9L7X8qWqtfUyxgt2KHILExRFkGDsOQlXFodfYjzE,3094
698
- plexflow-0.0.117.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
699
- plexflow-0.0.117.dist-info/entry_points.txt,sha256=SSLjrLcZa2880346VUIsCG9vcLsquf-RTX9pkdNaTO8,1498
700
- plexflow-0.0.117.dist-info/RECORD,,
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,,