plexflow 0.0.75__py3-none-any.whl → 0.0.77__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.
- plexflow/core/context/partials/__init__.py +1 -0
- plexflow/core/context/partials/candidates.py +15 -0
- plexflow/core/context/partials/universal_torrents.py +3 -10
- plexflow/core/downloads/__pycache__/__init__.cpython-312.pyc +0 -0
- plexflow/core/downloads/candidates/__pycache__/__init__.cpython-312.pyc +0 -0
- plexflow/core/downloads/candidates/__pycache__/download_candidate.cpython-312.pyc +0 -0
- plexflow/core/downloads/candidates/__pycache__/utils.cpython-312.pyc +0 -0
- plexflow/core/subtitles/providers/__pycache__/auto_subtitles.cpython-312.pyc +0 -0
- plexflow/core/subtitles/providers/oss/__pycache__/download.cpython-312.pyc +0 -0
- plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-312.pyc +0 -0
- plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-312.pyc +0 -0
- plexflow/core/subtitles/providers/oss/oss_subtitle.py +6 -1
- plexflow/core/subtitles/providers/oss/unlimited_oss.py +1 -0
- plexflow/core/subtitles/providers/oss/utils/__pycache__/response_base.cpython-312.pyc +0 -0
- plexflow/core/torrents/results/__pycache__/universal.cpython-312.pyc +0 -0
- plexflow/core/torrents/results/universal.py +16 -1
- {plexflow-0.0.75.dist-info → plexflow-0.0.77.dist-info}/METADATA +1 -1
- {plexflow-0.0.75.dist-info → plexflow-0.0.77.dist-info}/RECORD +20 -15
- {plexflow-0.0.75.dist-info → plexflow-0.0.77.dist-info}/entry_points.txt +1 -0
- {plexflow-0.0.75.dist-info → plexflow-0.0.77.dist-info}/WHEEL +0 -0
@@ -9,3 +9,4 @@ from plexflow.core.context.partials.tgx_batch import TgxBatch
|
|
9
9
|
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
|
+
from plexflow.core.context.partials.candidates import Candidates
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from plexflow.core.context.partial_context import PartialContext
|
2
|
+
from plexflow.core.downloads.candidates.download_candidate import DownloadCandidate
|
3
|
+
from typing import List
|
4
|
+
|
5
|
+
class Candidates(PartialContext):
|
6
|
+
def __init__(self, **kwargs) -> None:
|
7
|
+
super().__init__(**kwargs)
|
8
|
+
|
9
|
+
def all(self) -> List[DownloadCandidate]:
|
10
|
+
return self.get("download/candidates")
|
11
|
+
|
12
|
+
def update(self, candidates: List[DownloadCandidate]):
|
13
|
+
if len(candidates) == 0:
|
14
|
+
return
|
15
|
+
self.set("download/candidates", candidates)
|
@@ -7,17 +7,10 @@ class UniversalTorrents(PartialContext):
|
|
7
7
|
def __init__(self, **kwargs) -> None:
|
8
8
|
super().__init__(**kwargs)
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
keys = self.get_keys("universal/torrents/*")
|
13
|
-
# extract the source from the key
|
14
|
-
return [key.split("/")[-1] for key in keys]
|
15
|
-
|
16
|
-
def from_source(self, source: str) -> List[UniversalTorrent]:
|
17
|
-
return self.get(f"universal/torrents/{source}")
|
10
|
+
def all(self) -> List[UniversalTorrent]:
|
11
|
+
return self.get("universal/torrents")
|
18
12
|
|
19
13
|
def update(self, torrents: List[UniversalTorrent]):
|
20
14
|
if len(torrents) == 0:
|
21
15
|
return
|
22
|
-
|
23
|
-
self.set(f"universal/torrents/{source}", torrents)
|
16
|
+
self.set(f"universal/torrents", torrents)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from plexflow.core.subtitles.providers.oss.utils.responses import Subtitle
|
2
2
|
from datetime import datetime
|
3
3
|
from plexflow.utils.imdb.imdb_codes import IMDbCode
|
4
|
+
import PTN
|
4
5
|
|
5
6
|
class OSSSubtitle(Subtitle):
|
6
7
|
def __init__(self, subtitle: Subtitle):
|
@@ -10,7 +11,11 @@ class OSSSubtitle(Subtitle):
|
|
10
11
|
@property
|
11
12
|
def release_name(self) -> str:
|
12
13
|
return self.subtitle.release
|
13
|
-
|
14
|
+
|
15
|
+
@property
|
16
|
+
def parsed_release_name(self) -> str:
|
17
|
+
return PTN.parse(self.release_name)
|
18
|
+
|
14
19
|
@property
|
15
20
|
def uploader(self) -> str:
|
16
21
|
return self.subtitle.uploader_name
|
@@ -84,6 +84,7 @@ class OpenSubtitlesManager:
|
|
84
84
|
Returns:
|
85
85
|
OpenSubtitlesManager: The created instance of the OpenSubtitlesManager class.
|
86
86
|
"""
|
87
|
+
print("YAML:", yaml_file)
|
87
88
|
with open(yaml_file, 'r') as file:
|
88
89
|
credentials = yaml.safe_load(file)
|
89
90
|
return cls(credentials=credentials, r=r, **kwargs)
|
Binary file
|
Binary file
|
@@ -185,7 +185,22 @@ class UniversalTorrent:
|
|
185
185
|
Returns:
|
186
186
|
bool: True if the universal torrent is compatible with the subtitle, False otherwise.
|
187
187
|
"""
|
188
|
-
|
188
|
+
torrent_parsed_release_names = [t.parsed_release_name for t in self.torrents]
|
189
|
+
subtitle_parsed_release_name = s.parsed_release_name
|
190
|
+
|
191
|
+
if any(s.release_name.lower().strip() == t.release_name.lower().strip() for t in self.torrents):
|
192
|
+
return True
|
193
|
+
elif any(subtitle_parsed_release_name.get('encoder', 'NO_ENCODER_SUBTITLE').strip().lower() == parsed_release_name.get('encoder', 'NO_ENCODER_TORRENT').strip().lower() for parsed_release_name in torrent_parsed_release_names):
|
194
|
+
return True
|
195
|
+
elif any((subtitle_parsed_release_name.get('encoder', 'NO_ENCODER_SUBTITLE').strip().lower() in parsed_release_name.get('encoder', 'NO_ENCODER_TORRENT').strip().lower()
|
196
|
+
or parsed_release_name.get('encoder', 'NO_ENCODER_TORRENT').strip().lower() in subtitle_parsed_release_name.get('encoder', 'NO_ENCODER_SUBTITLE').strip().lower())
|
197
|
+
for parsed_release_name in torrent_parsed_release_names):
|
198
|
+
return True
|
199
|
+
# check for YTS
|
200
|
+
elif 'yts' in s.release_name.strip().lower() and any('yts' in t.release_name.lower().strip() for t in self.torrents):
|
201
|
+
return True
|
202
|
+
|
203
|
+
return False
|
189
204
|
|
190
205
|
def __eq__(self, other):
|
191
206
|
"""
|
@@ -20,11 +20,12 @@ 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=
|
23
|
+
plexflow/core/context/partials/__init__.py,sha256=oLSaTaAGejMIB1DtBg8xaXUbA3qK43zv48-k0HWxhjI,764
|
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
|
+
plexflow/core/context/partials/candidates.py,sha256=0YiMUxITmJ9c37EtlLua9E5ghqrHH2lIPFyVFIcJ15s,543
|
28
29
|
plexflow/core/context/partials/context.py,sha256=pFzpAFxwCJdqPuhXJqhs6j4Xyvf0GQtzPRMmL4fcjEA,314
|
29
30
|
plexflow/core/context/partials/ids.py,sha256=QoQ6FbX1OIWrE-iuz-G6kSzBlTt1_I1jyfl2JgKge2o,913
|
30
31
|
plexflow/core/context/partials/movie.py,sha256=VXQ2SspFgGSRgDefg4VlHrH2fns3KRuKlU72ps6527o,3861
|
@@ -33,7 +34,7 @@ plexflow/core/context/partials/subtitles.py,sha256=Eax0rdGeTqEHkt9KNiyv097X3I1Dr
|
|
33
34
|
plexflow/core/context/partials/tgx_batch.py,sha256=TduB09oBOQ8CtmPYsHIeNe7AI-ypKw21zQAX-7qktEs,859
|
34
35
|
plexflow/core/context/partials/tgx_context.py,sha256=_FuhOvKsFqi_uynHxgC9_QIR2CfYmz-uJCRFtGFJmXI,1641
|
35
36
|
plexflow/core/context/partials/torrents.py,sha256=U6tjdsH0qIPwe9b7XZ5ChNIos68WEKn9VgCQe0A8MQ0,772
|
36
|
-
plexflow/core/context/partials/universal_torrents.py,sha256=
|
37
|
+
plexflow/core/context/partials/universal_torrents.py,sha256=yohdSEhspSdvmrI6NeBB2Racb7yS2kz7qyFat6gNw6k,563
|
37
38
|
plexflow/core/context/partials/watchlist.py,sha256=XL4H3AXHhyuhuImm3OBfrOmlc9rMvVhBJJGumQijM-c,1108
|
38
39
|
plexflow/core/context/plexflow_context.py,sha256=_Le01owaf_0hW6BwMCvMKrKX0IRHyWGWGYTzxCWmdSE,904
|
39
40
|
plexflow/core/context/plexflow_property.py,sha256=9eLjyHlfKKUhFo_zRwUIq_QaAGE6An4B8_HOxVJbeUo,1169
|
@@ -59,7 +60,11 @@ plexflow/core/context/watchlist/__pycache__/__init__.cpython-311.pyc,sha256=iwUR
|
|
59
60
|
plexflow/core/context/watchlist/__pycache__/context.cpython-311.pyc,sha256=NbmRe6tzqI4BljIUesvFYaMUfYdXkVHz68SwAQCBtxg,2640
|
60
61
|
plexflow/core/context/watchlist/context.py,sha256=_JKr1tddYLD6gemKelj_LB5t-pev_6SUIaQnl1tPX8c,1548
|
61
62
|
plexflow/core/downloads/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
63
|
+
plexflow/core/downloads/__pycache__/__init__.cpython-312.pyc,sha256=zUMxgNLYel7bBvNKnVb_QBn5GPVNLTKQn2do3Ra5gEU,159
|
62
64
|
plexflow/core/downloads/candidates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
|
+
plexflow/core/downloads/candidates/__pycache__/__init__.cpython-312.pyc,sha256=kt2qFZ_JTsQjlaiDAeQN7-TwVB4oXGVLUGCC5ataZ8Y,170
|
66
|
+
plexflow/core/downloads/candidates/__pycache__/download_candidate.cpython-312.pyc,sha256=SG09qzDMYM-bFFkLxU-S3nynDzI6Bxn5xBfpE_rZ-Hw,9142
|
67
|
+
plexflow/core/downloads/candidates/__pycache__/utils.cpython-312.pyc,sha256=Jwoj7R4TFzjoXc3uq_Wps3WitzFE9K_miKp9XuT_l8Y,2079
|
63
68
|
plexflow/core/downloads/candidates/download_candidate.py,sha256=KlW4GhAbp2hhDuoAphuFj3uweJE4LjwRvUNe-R7h-es,5819
|
64
69
|
plexflow/core/downloads/candidates/filtered.py,sha256=HgUY0S3aWAeHASHTjND9hyjCtGNLhUzLOL90G2CDxKg,1842
|
65
70
|
plexflow/core/downloads/candidates/utils.py,sha256=ahI6bvk7CHT_O0BEXsd7FtC180Swlt9Phj6_op1mhYA,1777
|
@@ -303,29 +308,29 @@ plexflow/core/subtitles/providers/__pycache__/__init__.cpython-311.pyc,sha256=2z
|
|
303
308
|
plexflow/core/subtitles/providers/__pycache__/__init__.cpython-312.pyc,sha256=gp9rHSu09WohhuFlVII26NTnqB9maGtEsjc8rKQ7pvo,171
|
304
309
|
plexflow/core/subtitles/providers/__pycache__/auto_subtiltes.cpython-311.pyc,sha256=Coddhp2j6Ay3oA1H5qQEHbn1qqpBLrHaINC8K-TaZqI,3857
|
305
310
|
plexflow/core/subtitles/providers/__pycache__/auto_subtitles.cpython-311.pyc,sha256=BEiGR-WcFPy0Lp4bgA8ykjs081bpT5m0L3sqy6Kqfdg,3893
|
306
|
-
plexflow/core/subtitles/providers/__pycache__/auto_subtitles.cpython-312.pyc,sha256=
|
311
|
+
plexflow/core/subtitles/providers/__pycache__/auto_subtitles.cpython-312.pyc,sha256=_hAilgddUB2JPMtU6TREs9hACj_F-MgcVfMKtK65BUU,3463
|
307
312
|
plexflow/core/subtitles/providers/auto_subtitles.py,sha256=lq7pEBBkrrkVjieB7uPs89v-SDlrOGbMhUzkA0pzii0,2200
|
308
313
|
plexflow/core/subtitles/providers/oss/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
309
314
|
plexflow/core/subtitles/providers/oss/__pycache__/__init__.cpython-311.pyc,sha256=fisyzWOS6ZR67F7A-k7WEaapRbm2h0mapOixVKgavqs,187
|
310
315
|
plexflow/core/subtitles/providers/oss/__pycache__/__init__.cpython-312.pyc,sha256=H2fhQnTvVsfRSfrDSReYATGTisbG-QEA6P-AHi8y-1U,175
|
311
316
|
plexflow/core/subtitles/providers/oss/__pycache__/datatypes.cpython-311.pyc,sha256=wCE0qHCaISXvsiDdrakvfbW8_Fww3JeG8ep2wmfwgQ4,8771
|
312
317
|
plexflow/core/subtitles/providers/oss/__pycache__/download.cpython-311.pyc,sha256=qyfLK7z1Yb0r5aM8KvPLeu0P1hflX5zqHEvfLtmF_hw,3733
|
313
|
-
plexflow/core/subtitles/providers/oss/__pycache__/download.cpython-312.pyc,sha256=
|
318
|
+
plexflow/core/subtitles/providers/oss/__pycache__/download.cpython-312.pyc,sha256=sG-imk-qM-JFhKtphS0tLPTACdBhw7atgFiKmunkkAE,3380
|
314
319
|
plexflow/core/subtitles/providers/oss/__pycache__/oss.cpython-311.pyc,sha256=tbcGIfaslOGnfjwoko8TSKIGRRO4sM86Gbmy7OG9occ,21609
|
315
320
|
plexflow/core/subtitles/providers/oss/__pycache__/oss.cpython-312.pyc,sha256=UXRE-8qiUAEkB55aYFtWb7WL8jHXozdIDGHZWkyQKRM,19694
|
316
321
|
plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-311.pyc,sha256=IfUEII4Khd7b4vs1Ag73irbmoulk1f9uKOX9xI0vtlo,2396
|
317
|
-
plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-312.pyc,sha256=
|
322
|
+
plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-312.pyc,sha256=VBhKFDlVJlfe_Hn0J44d73WGoJjNXUhYvWCz1O1_Mx0,2576
|
318
323
|
plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-311.pyc,sha256=Hb6ZX9B0wjeOvOMNaw-eZnPBITsINQ3Cs8cYebq-dKs,3038
|
319
324
|
plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-312.pyc,sha256=nSqaXHXI1Fe9mncp492AhLr444SMze-6QrZkdz94wr8,2662
|
320
325
|
plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-311.pyc,sha256=OUvBlMRcl1mDpT9UnhZl9g9YZgfJj5Y8Gff2oIto1V8,12587
|
321
|
-
plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-312.pyc,sha256=
|
326
|
+
plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-312.pyc,sha256=UUbEBl2ixwwSvXoDaG5kfo8Um-I58o10GHZHP6eCNGE,11756
|
322
327
|
plexflow/core/subtitles/providers/oss/datatypes.py,sha256=7YvjS8a3riEJ4yqLKzTRv5g6vftcrcoYKGcBoq0MCLo,3620
|
323
328
|
plexflow/core/subtitles/providers/oss/download.py,sha256=xEnmslFQnHhk8gDw35ePDGF-MZo47UUvivpHFhCzhsM,2121
|
324
329
|
plexflow/core/subtitles/providers/oss/old.py,sha256=IoZ7iIRs3FoxxJgzGrgMGNJpVXqZ3aAaadjKJJ3Lw0o,5566
|
325
330
|
plexflow/core/subtitles/providers/oss/oss.py,sha256=m0UGVMs50-et8_RfYCOOJXPDRabBZOW8UyLiPeq83AQ,15921
|
326
|
-
plexflow/core/subtitles/providers/oss/oss_subtitle.py,sha256=
|
331
|
+
plexflow/core/subtitles/providers/oss/oss_subtitle.py,sha256=HTsOUxBxFtqF4Ds-C7ZSOTTcypvK26Hpibsh0UMOjoM,987
|
327
332
|
plexflow/core/subtitles/providers/oss/search.py,sha256=VKMVgaZ67Juxlvf7IRqpo1QYKVKAaJg8Zhj-NQhjoy0,1865
|
328
|
-
plexflow/core/subtitles/providers/oss/unlimited_oss.py,sha256=
|
333
|
+
plexflow/core/subtitles/providers/oss/unlimited_oss.py,sha256=6ysiAElC4nuiqNJY233Kgd172RVm3584ReXrPd6Wtz4,9596
|
329
334
|
plexflow/core/subtitles/providers/oss/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
330
335
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/__init__.cpython-311.pyc,sha256=nBHOv53UkuFjaPU3Zih_W5tvdRYEmZOeySSrsa3qsGo,193
|
331
336
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/__init__.cpython-312.pyc,sha256=nWQpxGf6NgdB_p8RS6e0DO4jYZ9h8xjAc8GGiJUs8wk,181
|
@@ -340,7 +345,7 @@ plexflow/core/subtitles/providers/oss/utils/__pycache__/file_utils.cpython-312.p
|
|
340
345
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/languages.cpython-311.pyc,sha256=0k4-Lqv1r5D3ZNxeo-xGbyLLFM_ZRvDheuO-WZtnP_s,2788
|
341
346
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/languages.cpython-312.pyc,sha256=rY8WBgZ40MSUZvvoFMsVm5aZcB64UGWXtlu5ZCKUGvc,2734
|
342
347
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/response_base.cpython-311.pyc,sha256=Xf9Lx6enEAsRsU1tBeNyR7E-TVJimX9C0V5qNYjJsL8,11167
|
343
|
-
plexflow/core/subtitles/providers/oss/utils/__pycache__/response_base.cpython-312.pyc,sha256=
|
348
|
+
plexflow/core/subtitles/providers/oss/utils/__pycache__/response_base.cpython-312.pyc,sha256=FU7rAhL1o_uO3ipIAnZxcg9Tq3u86Tr18IUY6wQbb5w,9992
|
344
349
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/responses.cpython-311.pyc,sha256=I1CDautiTgrgGU-SdCxemjszBHhq85lxIMVBdfOOUDs,14585
|
345
350
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/responses.cpython-312.pyc,sha256=9dCyif_w_KUPIfjlysUfQ4WIZwoYwVTxMasfqXSBhKU,12499
|
346
351
|
plexflow/core/subtitles/providers/oss/utils/__pycache__/srt.cpython-311.pyc,sha256=bp8nzSZkZ_751NHl6wiT5wFTO9R-WaZkaqHmON9FfXY,23929
|
@@ -494,10 +499,10 @@ plexflow/core/torrents/results/__pycache__/__init__.cpython-311.pyc,sha256=FJHx4
|
|
494
499
|
plexflow/core/torrents/results/__pycache__/__init__.cpython-312.pyc,sha256=ZUXrXdVtbKDOsGXTY2h9h1GTk4atgBsFSsm-ffcVUUc,168
|
495
500
|
plexflow/core/torrents/results/__pycache__/torrent.cpython-311.pyc,sha256=SxfylbSxF9gpzXvNey4Fv9XdKLjwm0a0LYlGFhg7zAY,7655
|
496
501
|
plexflow/core/torrents/results/__pycache__/torrent.cpython-312.pyc,sha256=6-XcS5D4UMNkJEJ-tNn8DwSROZcLYA_jm3pR8Eu-hbY,7420
|
497
|
-
plexflow/core/torrents/results/__pycache__/universal.cpython-312.pyc,sha256=
|
502
|
+
plexflow/core/torrents/results/__pycache__/universal.cpython-312.pyc,sha256=HlAiFLzyDC-7NpW1Nyzj6HPdAefkUTBgUtiMIg6QKWg,14162
|
498
503
|
plexflow/core/torrents/results/__pycache__/utils.cpython-312.pyc,sha256=vqEt3jQLzZ-K_E9WV0kKz4K79AScvcg2xyOUTlAcu70,1136
|
499
504
|
plexflow/core/torrents/results/torrent.py,sha256=xsFFOG8Wh5YslQ4d5lhrhi2I5LHGBTCdC30CU06GAKs,4770
|
500
|
-
plexflow/core/torrents/results/universal.py,sha256=
|
505
|
+
plexflow/core/torrents/results/universal.py,sha256=ycprOMT1Px8IthmB82YhmnxeNt7P3GAcrOlEkpKoaQk,7706
|
501
506
|
plexflow/core/torrents/results/utils.py,sha256=abiiO_QQYDpA5aMyO8WFPxnGu5sL5xfACezE5bwrnJU,691
|
502
507
|
plexflow/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
503
508
|
plexflow/events/download/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -649,7 +654,7 @@ plexflow/utils/video/__pycache__/audio.cpython-312.pyc,sha256=vXBnJwWgTDFdixMBs-
|
|
649
654
|
plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc,sha256=PCjpCLydGXaRsQy6cikhgsEs8WlComfOoYPiLFqfVMA,2515
|
650
655
|
plexflow/utils/video/audio.py,sha256=tJ_lNwcjVuBQYD5cYOlXpr__eh8-hnReIgNRgIYOpqo,3380
|
651
656
|
plexflow/utils/video/subtitle.py,sha256=LOGONGxs_RzmqtGP-DBKreOzS1eUFEKo75Q6AfnavW0,1290
|
652
|
-
plexflow-0.0.
|
653
|
-
plexflow-0.0.
|
654
|
-
plexflow-0.0.
|
655
|
-
plexflow-0.0.
|
657
|
+
plexflow-0.0.77.dist-info/METADATA,sha256=VYJFCP2O2N_XIXHFEAtzDYIyh5ZSVmo3b0cH_dtd120,2954
|
658
|
+
plexflow-0.0.77.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
659
|
+
plexflow-0.0.77.dist-info/entry_points.txt,sha256=aEqDHlozu_zjWrl2sibtrqtQHMgU8kSJZrE782CP47g,1362
|
660
|
+
plexflow-0.0.77.dist-info/RECORD,,
|
@@ -1,6 +1,7 @@
|
|
1
1
|
[console_scripts]
|
2
2
|
audio_extract=scripts.video.audio_extract:main
|
3
3
|
auto_torrents=scripts.torrents.auto_torrents:main
|
4
|
+
candidate_matching=scripts.torrents.candidate_matching:main
|
4
5
|
chat_with_plexa=scripts.plex.discover.chat_with_plexa:main
|
5
6
|
download_subtitles=scripts.subtitles.download_subtitles:main
|
6
7
|
find_torrents=scripts.torrents.find_torrents:main
|
File without changes
|