plexflow 0.0.137__py3-none-any.whl → 0.0.139__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/__pycache__/__init__.cpython-312.pyc +0 -0
- plexflow/core/context/__pycache__/partial_context.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/__init__.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/cache.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/candidates.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/completed_downloads.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/context.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/ids.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/movie.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/movie_assets.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/reports.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/show.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/subtitles.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/tgx_batch.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/tgx_context.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/torrent_blacklist.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/torrent_deadline.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/torrents.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/universal_torrents.cpython-312.pyc +0 -0
- plexflow/core/context/partials/__pycache__/watchlist.cpython-312.pyc +0 -0
- plexflow/core/downloads/candidates/rank/__pycache__/ranking.cpython-312.pyc +0 -0
- plexflow/core/downloads/qbit/__pycache__/interface.cpython-312.pyc +0 -0
- plexflow/core/downloads/qbit/interface.py +28 -0
- plexflow/core/plex/watchlist/__pycache__/__init__.cpython-312.pyc +0 -0
- plexflow/core/plex/watchlist/__pycache__/datatypes.cpython-312.pyc +0 -0
- plexflow/core/storage/__pycache__/__init__.cpython-312.pyc +0 -0
- plexflow/core/storage/object/__pycache__/__init__.cpython-312.pyc +0 -0
- plexflow/core/storage/object/__pycache__/plexflow_storage.cpython-312.pyc +0 -0
- plexflow/core/storage/object/__pycache__/redis_storage.cpython-312.pyc +0 -0
- plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-312.pyc +0 -0
- plexflow/core/subtitles/utils/__pycache__/plex_internal_subtitle.cpython-312.pyc +0 -0
- plexflow/utils/strings/sanitize.py +11 -5
- plexflow/utils/tasks/__pycache__/decorators.cpython-312.pyc +0 -0
- plexflow/utils/torrent/__pycache__/analyze.cpython-312.pyc +0 -0
- {plexflow-0.0.137.dist-info → plexflow-0.0.139.dist-info}/METADATA +1 -1
- {plexflow-0.0.137.dist-info → plexflow-0.0.139.dist-info}/RECORD +38 -18
- {plexflow-0.0.137.dist-info → plexflow-0.0.139.dist-info}/WHEEL +0 -0
- {plexflow-0.0.137.dist-info → plexflow-0.0.139.dist-info}/entry_points.txt +0 -0
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -48,6 +48,34 @@ def remove(torrent: TorrentDictionary, hard: bool, **kwargs):
|
|
48
48
|
with qbittorrentapi.Client(**conn_info) as qbt_client:
|
49
49
|
return qbt_client.torrents_delete(delete_files=hard, torrent_hashes=torrent.hash)
|
50
50
|
|
51
|
+
def add_tags(torrent: TorrentDictionary, tags, **kwargs):
|
52
|
+
# instantiate a Client using the appropriate WebUI configuration
|
53
|
+
conn_info = dict(
|
54
|
+
host=kwargs.get("qbit_host"),
|
55
|
+
port=kwargs.get("qbit_port"),
|
56
|
+
username=kwargs.get("qbit_username"),
|
57
|
+
password=kwargs.get("qbit_password"),
|
58
|
+
)
|
59
|
+
qbt_client = qbittorrentapi.Client(**conn_info)
|
60
|
+
|
61
|
+
# or use a context manager:
|
62
|
+
with qbittorrentapi.Client(**conn_info) as qbt_client:
|
63
|
+
return qbt_client.torrents_add_tags(tags=tags, torrent_hashes=torrent.hash)
|
64
|
+
|
65
|
+
def remove_tags(torrent: TorrentDictionary, tags, **kwargs):
|
66
|
+
# instantiate a Client using the appropriate WebUI configuration
|
67
|
+
conn_info = dict(
|
68
|
+
host=kwargs.get("qbit_host"),
|
69
|
+
port=kwargs.get("qbit_port"),
|
70
|
+
username=kwargs.get("qbit_username"),
|
71
|
+
password=kwargs.get("qbit_password"),
|
72
|
+
)
|
73
|
+
qbt_client = qbittorrentapi.Client(**conn_info)
|
74
|
+
|
75
|
+
# or use a context manager:
|
76
|
+
with qbittorrentapi.Client(**conn_info) as qbt_client:
|
77
|
+
return qbt_client.torrents_remove_tags(tags=tags, torrent_hashes=torrent.hash)
|
78
|
+
|
51
79
|
def is_completed(torrent: TorrentDictionary) -> bool:
|
52
80
|
return torrent.state in [
|
53
81
|
"seeding",
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import string
|
2
|
+
import re
|
2
3
|
|
3
4
|
def remove_punctuation(text):
|
4
5
|
"""Removes all punctuation from a given string."""
|
@@ -8,27 +9,32 @@ def remove_punctuation(text):
|
|
8
9
|
translator = str.maketrans('', '', string.punctuation)
|
9
10
|
return text.translate(translator)
|
10
11
|
|
11
|
-
def clean_string(input_string, remove_spaces: bool = False):
|
12
|
+
def clean_string(input_string, remove_spaces: bool = False, remove_years: bool = False):
|
12
13
|
"""
|
13
|
-
Strips all punctuation and
|
14
|
+
Strips all punctuation, spaces, and optionally years from a string and converts it to lowercase.
|
14
15
|
|
15
16
|
Args:
|
16
17
|
input_string (str): The string to clean.
|
18
|
+
remove_spaces (bool): If True, all spaces are removed. Defaults to False.
|
19
|
+
remove_years (bool): If True, all 4-digit numbers are removed. Defaults to False.
|
17
20
|
|
18
21
|
Returns:
|
19
22
|
str: The cleaned string.
|
20
23
|
"""
|
21
24
|
# Create a translation table to remove punctuation
|
22
|
-
# string.punctuation contains all standard punctuation characters
|
23
25
|
translator = str.maketrans('', '', string.punctuation)
|
24
26
|
|
25
27
|
# Remove punctuation using the translation table
|
26
28
|
no_punctuation = input_string.translate(translator)
|
27
29
|
|
28
|
-
# Remove all
|
30
|
+
# Remove all 4-digit numbers if requested
|
31
|
+
if remove_years:
|
32
|
+
no_punctuation = re.sub(r'\b\d{4}\b', '', no_punctuation)
|
33
|
+
|
34
|
+
# Remove all spaces if requested
|
29
35
|
no_spaces = no_punctuation.replace(" ", "") if remove_spaces else no_punctuation
|
30
36
|
|
31
37
|
# Convert to lowercase
|
32
38
|
cleaned_string = no_spaces.lower()
|
33
39
|
|
34
|
-
return cleaned_string
|
40
|
+
return cleaned_string.strip()
|
Binary file
|
Binary file
|
@@ -6,10 +6,10 @@ plexflow/core/__pycache__/__init__.cpython-311.pyc,sha256=ZGKcTAnfmuQ7FBmmHD7jaZ
|
|
6
6
|
plexflow/core/__pycache__/__init__.cpython-312.pyc,sha256=z2OvrVYJN25LyXX9kE9dNS5PsYgpAa9DrEMae1p3-1k,149
|
7
7
|
plexflow/core/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
8
|
plexflow/core/context/__pycache__/__init__.cpython-311.pyc,sha256=d9tgD1hoEDS2p7dhus4tQtneTiuhm7UngrtbKLEHa9I,171
|
9
|
-
plexflow/core/context/__pycache__/__init__.cpython-312.pyc,sha256=
|
9
|
+
plexflow/core/context/__pycache__/__init__.cpython-312.pyc,sha256=5kMEtOErdB-MSiPqHtHExPzKHhEfLOZUblonGK8pDHg,157
|
10
10
|
plexflow/core/context/__pycache__/context.cpython-311.pyc,sha256=FSdQLkqi3TvPFoFURSGt6GQexaquW4mLNoL1nLpUUcM,766
|
11
11
|
plexflow/core/context/__pycache__/partial_context.cpython-311.pyc,sha256=8N1Szu87yjorEUaHjD4wo2nlDmG0ljdPNFx9tUUHecw,1735
|
12
|
-
plexflow/core/context/__pycache__/partial_context.cpython-312.pyc,sha256=
|
12
|
+
plexflow/core/context/__pycache__/partial_context.cpython-312.pyc,sha256=mVJpECjR4PCJ6twqLYwhUdFWfQDiNvq4Mmo61i14HQ8,4860
|
13
13
|
plexflow/core/context/__pycache__/plexflow_context.cpython-311.pyc,sha256=QXqIeOXZR1hoofoqsW_eSy3Vum3rBZYjwHAi4G04Bec,1566
|
14
14
|
plexflow/core/context/__pycache__/plexflow_property.cpython-311.pyc,sha256=O8bsQQhSRRqz4KVdFK34w--d4KSHbCeJAompIr-jzsg,2231
|
15
15
|
plexflow/core/context/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -22,8 +22,26 @@ plexflow/core/context/metadata/tmdb/context.py,sha256=zlI_Zs_1bAdR60xtl4j2_UBhIe
|
|
22
22
|
plexflow/core/context/partial_context.py,sha256=684qHyQ-ulkZnXm-CMmhP7ont-9lIi1WEAbLTjyS4kA,2301
|
23
23
|
plexflow/core/context/partials/__init__.py,sha256=iS9jy1FUDNPrjfMA5BUEAQJNeQyDMY1cSSwF8nQYSKQ,1121
|
24
24
|
plexflow/core/context/partials/__pycache__/__init__.cpython-311.pyc,sha256=x_5HUdt-0vrq9LMmc8Vj0usxqQ_ZHD4WZd4HrvhwAZc,346
|
25
|
+
plexflow/core/context/partials/__pycache__/__init__.cpython-312.pyc,sha256=7q9q7QlnNlxt7ofJzmjKimDvcyB4w5fMWcWPNfUJAa4,1493
|
26
|
+
plexflow/core/context/partials/__pycache__/cache.cpython-312.pyc,sha256=0edSDM-oxFGuajS_IUFA1z2pmQGuFopk6GvF817HWGo,1303
|
27
|
+
plexflow/core/context/partials/__pycache__/candidates.cpython-312.pyc,sha256=-uygr7WIYC_9UPRSdDx8y6TGZF29bk_XeMNM9Sg0atY,2219
|
28
|
+
plexflow/core/context/partials/__pycache__/completed_downloads.cpython-312.pyc,sha256=Gl-o1GSbxG42DzQiw9bp3rWXj37wcLuJItxr26QE4fg,1905
|
29
|
+
plexflow/core/context/partials/__pycache__/context.cpython-312.pyc,sha256=cjRWTQ4zDwryU85wrHGR85ThPjTXpZ8fG3U3C36B3eQ,1068
|
25
30
|
plexflow/core/context/partials/__pycache__/ids.cpython-311.pyc,sha256=wV7r4FAwonAshns-NGcowqGamtrM_Q_2NbiHQhOLkjg,2638
|
31
|
+
plexflow/core/context/partials/__pycache__/ids.cpython-312.pyc,sha256=HTDvefdnIUMljBD5NlLMiqaq0dgWUKexSxdeAMJFfF4,2296
|
32
|
+
plexflow/core/context/partials/__pycache__/movie.cpython-312.pyc,sha256=VXKyg-FuNN4kQ7AW_lOmvlljz6_kJ-IjYz1iaYe0BOA,6742
|
33
|
+
plexflow/core/context/partials/__pycache__/movie_assets.cpython-312.pyc,sha256=JYY-uK7onu6EQZaalRqYdEzRzDbqKT9tzYAHPVmJ_ls,4032
|
34
|
+
plexflow/core/context/partials/__pycache__/reports.cpython-312.pyc,sha256=V0_zdUMpDmdw0vBdVTVmcNYw5tpIShtaTj7nwMaosCI,1913
|
35
|
+
plexflow/core/context/partials/__pycache__/show.cpython-312.pyc,sha256=LQnXmwtKsMmw1NpA4eGheB8Cce1eeYy5ITdIfJ5yyKQ,10354
|
36
|
+
plexflow/core/context/partials/__pycache__/subtitles.cpython-312.pyc,sha256=_m59cDHgrZKcbot2DB5Swvvc9f9zvWtemfGzJp2X_Po,1281
|
37
|
+
plexflow/core/context/partials/__pycache__/tgx_batch.cpython-312.pyc,sha256=rn3u81KkyeEKqGklWS-OaWN4SY_AhUusCvM7qX-8v50,2308
|
38
|
+
plexflow/core/context/partials/__pycache__/tgx_context.cpython-312.pyc,sha256=Bjyegx4Fv-NUqivkDbGPLVUluawG5b1j33nezOzMXvU,2506
|
39
|
+
plexflow/core/context/partials/__pycache__/torrent_blacklist.cpython-312.pyc,sha256=VLKXsDnHRQaXK37IJBInN5Ra0fR4llyCX7uIF26sXB0,1418
|
40
|
+
plexflow/core/context/partials/__pycache__/torrent_deadline.cpython-312.pyc,sha256=v_3MQJNU3urq9ToOzGZg3bcQR4o-G-s62-LavtSAGNI,1648
|
41
|
+
plexflow/core/context/partials/__pycache__/torrents.cpython-312.pyc,sha256=CxJMdCVzrKCFnE84kO0cIJA2qRa2qe4iZc9Ut7_8Y_Y,2445
|
42
|
+
plexflow/core/context/partials/__pycache__/universal_torrents.cpython-312.pyc,sha256=b5AHjw9lgf7i0Ilt3ohGGjZRc0OdNS14RDcYd-nkFMo,1348
|
26
43
|
plexflow/core/context/partials/__pycache__/watchlist.cpython-311.pyc,sha256=k-0BM-AvH-zObpwY0XR8CYrT21kPEa0fmeBmf0wscE0,1466
|
44
|
+
plexflow/core/context/partials/__pycache__/watchlist.cpython-312.pyc,sha256=HBJM2BZY5m2sWd5VrZ81ZM45n8rGIvHfle7iSZn7scg,2382
|
27
45
|
plexflow/core/context/partials/cache.py,sha256=1QQ6yP69wqJiacuc2idhHsXpyUUCqavqgLk25wQB_tI,508
|
28
46
|
plexflow/core/context/partials/candidates.py,sha256=TnAPeSEolchQ3znT40xKjEQfeCl9qAMLFThWaeT46JY,1033
|
29
47
|
plexflow/core/context/partials/completed_downloads.py,sha256=BM5apreKS9zeuFOT4EqoQi3p9HODo0B0U99BRGS3_Sg,884
|
@@ -72,14 +90,14 @@ plexflow/core/downloads/candidates/__pycache__/download_candidate.cpython-312.py
|
|
72
90
|
plexflow/core/downloads/candidates/__pycache__/utils.cpython-312.pyc,sha256=siHmGpfFms4ImysVqDU50VLzRt24E2tDyhJb2O6xwok,2199
|
73
91
|
plexflow/core/downloads/candidates/download_candidate.py,sha256=6lQbtNw8uGr5B8qrkOOCxxvCKGHvFoEq8JjHGNB5FN8,5989
|
74
92
|
plexflow/core/downloads/candidates/filtered.py,sha256=HgUY0S3aWAeHASHTjND9hyjCtGNLhUzLOL90G2CDxKg,1842
|
75
|
-
plexflow/core/downloads/candidates/rank/__pycache__/ranking.cpython-312.pyc,sha256=
|
93
|
+
plexflow/core/downloads/candidates/rank/__pycache__/ranking.cpython-312.pyc,sha256=nVhtGi1ofGpM26hfQzZRrBUWAj9dKUAJRi7WluFWKP8,4659
|
76
94
|
plexflow/core/downloads/candidates/rank/__pycache__/utils.cpython-312.pyc,sha256=YS3mCbqz2dnIvZuODAW8hAi9iDOp3HQDde0WVl4CBo0,426
|
77
95
|
plexflow/core/downloads/candidates/rank/ranking.py,sha256=vWsxtoDTX0sYWs-y_TxxhPhpaacZ07EtIEK9u4YP7S0,2688
|
78
96
|
plexflow/core/downloads/candidates/rank/utils.py,sha256=R4Ai4KmZRONo9vd2rf32DdGxVkANHYFwSjrO5WVjX9U,100
|
79
97
|
plexflow/core/downloads/candidates/utils.py,sha256=BnuDSRjU9mVYSh9ejKgfvlLi0bWEqc07uLyskC-bYhw,1874
|
80
|
-
plexflow/core/downloads/qbit/__pycache__/interface.cpython-312.pyc,sha256=
|
98
|
+
plexflow/core/downloads/qbit/__pycache__/interface.cpython-312.pyc,sha256=6v1kmhmipp2I67Rl2HVWupicJEpiE-pMjOutBFO9wsE,4638
|
81
99
|
plexflow/core/downloads/qbit/__pycache__/schedule.cpython-312.pyc,sha256=ESOLrk6sLpb1mtijuDGNKvAHaYopVQBwSDzdt8dFNow,1350
|
82
|
-
plexflow/core/downloads/qbit/interface.py,sha256=
|
100
|
+
plexflow/core/downloads/qbit/interface.py,sha256=H740txADCpeSlq2a_ivdcWRCsIHGGQYqbR-JOtkLW0U,3550
|
83
101
|
plexflow/core/downloads/qbit/schedule.py,sha256=5w3JpbIGRc5xS_ZjfKXMXywi-2NXL_2y_Izx0DmUGnE,907
|
84
102
|
plexflow/core/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
85
103
|
plexflow/core/env/env.py,sha256=8cK49WiKD_H3B9K0QiMu7pkXTld40ojRB3sK7noQM44,953
|
@@ -311,23 +329,23 @@ plexflow/core/plex/utils/__pycache__/paginated.cpython-312.pyc,sha256=vxpUDtw11S
|
|
311
329
|
plexflow/core/plex/utils/paginated.py,sha256=4w-Q2kpkCmsCYnxJazoltvvpLq-c2hzyS4DWsGHkeoM,1171
|
312
330
|
plexflow/core/plex/watchlist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
313
331
|
plexflow/core/plex/watchlist/__pycache__/__init__.cpython-311.pyc,sha256=5GlwuWEZYpXuoiIJkYyX4h6wxwzMD9DUosgJ5Gw_6ZU,178
|
314
|
-
plexflow/core/plex/watchlist/__pycache__/__init__.cpython-312.pyc,sha256=
|
332
|
+
plexflow/core/plex/watchlist/__pycache__/__init__.cpython-312.pyc,sha256=FlojeaUW1FkorX6flilViIGTdV7UF8uEoi3nkAC2Frs,164
|
315
333
|
plexflow/core/plex/watchlist/__pycache__/datatypes.cpython-311.pyc,sha256=raf3JEsEqRmBYH2FOfY4Wujcdmobp94rviGft5Z7jCQ,8849
|
316
|
-
plexflow/core/plex/watchlist/__pycache__/datatypes.cpython-312.pyc,sha256=
|
334
|
+
plexflow/core/plex/watchlist/__pycache__/datatypes.cpython-312.pyc,sha256=iOPW1Mhf5SuUFHMzATc2pqN_uF-_NAmcCrzeUReQEt0,7606
|
317
335
|
plexflow/core/plex/watchlist/__pycache__/watchlist.cpython-311.pyc,sha256=CocErWnueQIN8ReWjjpteDvF7mDtsdlxvFe4TaMiKvY,1274
|
318
336
|
plexflow/core/plex/watchlist/__pycache__/watchlist.cpython-312.pyc,sha256=zLFP394Wxxnb67jOZlUcFlh4KAelz_gyO-WbzcBTJHs,1294
|
319
337
|
plexflow/core/plex/watchlist/datatypes.py,sha256=Ukri8nM16-IKxPxia4n45syjtc401nMWSd3hgjdrJSE,5193
|
320
338
|
plexflow/core/plex/watchlist/watchlist.py,sha256=3vtkxvjVWmVWLSRxptZoek0eeAX2tU0mQ-IsT6TBwB4,851
|
321
339
|
plexflow/core/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
322
340
|
plexflow/core/storage/__pycache__/__init__.cpython-311.pyc,sha256=kKE5c5UA7CgoFly4hrI7a7s-ztUxg3zLnkjgpShAj2k,171
|
323
|
-
plexflow/core/storage/__pycache__/__init__.cpython-312.pyc,sha256=
|
341
|
+
plexflow/core/storage/__pycache__/__init__.cpython-312.pyc,sha256=bkMvtPZ53O_tyElEvOeGWcjGR-DEufOi4f0zHQeJFXo,157
|
324
342
|
plexflow/core/storage/object/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
325
343
|
plexflow/core/storage/object/__pycache__/__init__.cpython-311.pyc,sha256=BR8DwNMPlP2Hm6i9nY_JtyLB_by6MT3voZth37Jl4-M,178
|
326
|
-
plexflow/core/storage/object/__pycache__/__init__.cpython-312.pyc,sha256=
|
344
|
+
plexflow/core/storage/object/__pycache__/__init__.cpython-312.pyc,sha256=vxZouR9nlAPGjFZN6BjsMD68yciqME34mZn7E9bZq1g,164
|
327
345
|
plexflow/core/storage/object/__pycache__/plexflow_storage.cpython-311.pyc,sha256=cEDMKRtQsvgXU7DVoYUON_P9nZ12-Jg120jVR4ciZfw,6424
|
328
|
-
plexflow/core/storage/object/__pycache__/plexflow_storage.cpython-312.pyc,sha256=
|
346
|
+
plexflow/core/storage/object/__pycache__/plexflow_storage.cpython-312.pyc,sha256=5ddAfD-Ietf3X2eshgGRJWD2q-s0SW1_yNxIx10ep2s,7398
|
329
347
|
plexflow/core/storage/object/__pycache__/redis_storage.cpython-311.pyc,sha256=I2WtCM1I6noDRNCCYmgViwg4vyFQ_UnFfKIXFSA2Vxo,6203
|
330
|
-
plexflow/core/storage/object/__pycache__/redis_storage.cpython-312.pyc,sha256=
|
348
|
+
plexflow/core/storage/object/__pycache__/redis_storage.cpython-312.pyc,sha256=Wrra6UeNC8kuzsdPHGhcbHXclNKLOAaxNfPnaPB1uC8,8003
|
331
349
|
plexflow/core/storage/object/plexflow_storage.py,sha256=28sADPUQcYcVSt0ndu9xGLTuhWN4VejQSnpgQ5CmWW8,5413
|
332
350
|
plexflow/core/storage/object/redis_storage.py,sha256=6EDSNEgNjP0KNdTtJXZebeUAiqRV97oAdjtUnU2bDBE,6097
|
333
351
|
plexflow/core/subtitles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -351,7 +369,7 @@ plexflow/core/subtitles/providers/oss/__pycache__/oss.cpython-312.pyc,sha256=XhZ
|
|
351
369
|
plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-311.pyc,sha256=IfUEII4Khd7b4vs1Ag73irbmoulk1f9uKOX9xI0vtlo,2396
|
352
370
|
plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-312.pyc,sha256=YJjcasSbQna30MtyKApyFrU4VFwNOxh0awY0565RPkE,2576
|
353
371
|
plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-311.pyc,sha256=Hb6ZX9B0wjeOvOMNaw-eZnPBITsINQ3Cs8cYebq-dKs,3038
|
354
|
-
plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-312.pyc,sha256=
|
372
|
+
plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-312.pyc,sha256=YFAjR-c7hBegAhBjTKB1090aG1-jmYfZ3QWB32lUl58,2662
|
355
373
|
plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-311.pyc,sha256=OUvBlMRcl1mDpT9UnhZl9g9YZgfJj5Y8Gff2oIto1V8,12587
|
356
374
|
plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-312.pyc,sha256=bU2sKm2qYOI-8AO25Xswuwv0AAPRtX04DTdYq3r-K-I,11756
|
357
375
|
plexflow/core/subtitles/providers/oss/datatypes.py,sha256=7YvjS8a3riEJ4yqLKzTRv5g6vftcrcoYKGcBoq0MCLo,3620
|
@@ -394,6 +412,7 @@ plexflow/core/subtitles/results/__pycache__/subtitle.cpython-311.pyc,sha256=CjeZ
|
|
394
412
|
plexflow/core/subtitles/results/__pycache__/subtitle.cpython-312.pyc,sha256=kDLEfwKiTgKMvis6GQ19lXs8Ybz09KV8tgMLx6D1BhE,5984
|
395
413
|
plexflow/core/subtitles/results/subtitle.py,sha256=1_xeg_l93b-gWRJEKrOSA8k1OlNOfJgotFWWsfgiUvM,3852
|
396
414
|
plexflow/core/subtitles/utils/__pycache__/plex_external_subtitle.cpython-312.pyc,sha256=942Iu0hDqZc33IGGI1ig8a9ToViytcAVYCGl8XsOkaQ,1069
|
415
|
+
plexflow/core/subtitles/utils/__pycache__/plex_internal_subtitle.cpython-312.pyc,sha256=dSsw31fKTVZOBL9OEgex8NebDyOIhmiVkG6G88mfV_I,698
|
397
416
|
plexflow/core/subtitles/utils/__pycache__/plex_subtitle.cpython-312.pyc,sha256=s9vex0jRTLFV3bpkoAEhlAaJyaqlVdgkPx6yl2r0kqk,1373
|
398
417
|
plexflow/core/subtitles/utils/plex_external_subtitle.py,sha256=LOhYDFZNgAhXROdJeqWwI1EeGLGpo5MQZtB0lwgIfbU,407
|
399
418
|
plexflow/core/subtitles/utils/plex_internal_subtitle.py,sha256=kFM789VRX7BuTldYmjCUG22E06xWgEej2L3U5Bp4JHI,185
|
@@ -665,10 +684,11 @@ plexflow/utils/strings/__pycache__/sanitize.cpython-312.pyc,sha256=al-VD4Gphby-b
|
|
665
684
|
plexflow/utils/strings/filesize.py,sha256=mLVd0xqIEzAif5Tn_PyCddFmUPXPNnEbLhBNJTsgOvs,1547
|
666
685
|
plexflow/utils/strings/json_extract.py,sha256=590oY1LMnbe9COm3fD6z74OtOzxeXd3Hrf06afhHOvc,14884
|
667
686
|
plexflow/utils/strings/language.py,sha256=J9-wqmCdxf9Ws5_X1tV4vX4d7AGkKci0eaBE4Lit0j0,269
|
668
|
-
plexflow/utils/strings/sanitize.py,sha256=
|
687
|
+
plexflow/utils/strings/sanitize.py,sha256=KVc-1eLgIk5WK8QtCNFWMA6y_K3-E0ahH0kuQ6MkSlY,1354
|
669
688
|
plexflow/utils/subtitle/__pycache__/search.cpython-312.pyc,sha256=RiMTyALG74DJn67xhCvZ2ofXBOTyetMOU3Tq_bVdbts,3554
|
670
689
|
plexflow/utils/subtitle/search.py,sha256=HW_JOrj-cpRrVnxWh56XjRWhb98E73V1V5QHCq2y7CM,2441
|
671
690
|
plexflow/utils/tasks/__pycache__/decorators.cpython-311.pyc,sha256=8zuAsEfYLEBQQ4DGKqkx-JFCjd73kGhAiPblBNFa2cQ,1675
|
691
|
+
plexflow/utils/tasks/__pycache__/decorators.cpython-312.pyc,sha256=0VPRbBWPpOJEPZ4AyBLPfzCIJtH3PrwszkshvKwxDCs,3438
|
672
692
|
plexflow/utils/tasks/__pycache__/tasks.cpython-311.pyc,sha256=8RRMTHAy-t6yW0rlDX9wpZyO-9Cg4SQoD-NVasL94SQ,1670
|
673
693
|
plexflow/utils/tasks/decorators.py,sha256=ViXNX7Sl1Voh9lOGzwz0OBlzGjbfFc9lr1fTQpOVYJM,3113
|
674
694
|
plexflow/utils/tasks/k8s/task.py,sha256=oCfOBjitZ48D1M52w2dpf7HaHZTmvYV9YS_ccixLs0w,2709
|
@@ -679,7 +699,7 @@ plexflow/utils/thread_safe/safe_set.py,sha256=wTlR3RK6QShRFdij1-HOT2YUAtONivySQ1
|
|
679
699
|
plexflow/utils/torrent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
680
700
|
plexflow/utils/torrent/__pycache__/__init__.cpython-311.pyc,sha256=nWgaKrMbrQpiPPcpuHy-B-TAMwt8w5iofUZ2ba2SRss,172
|
681
701
|
plexflow/utils/torrent/__pycache__/__init__.cpython-312.pyc,sha256=o3dvDnTCgvMrnZhFYAcZi73nOeGap4LAD8b7HjDWWb8,158
|
682
|
-
plexflow/utils/torrent/__pycache__/analyze.cpython-312.pyc,sha256=
|
702
|
+
plexflow/utils/torrent/__pycache__/analyze.cpython-312.pyc,sha256=nP2xHd5DUXb416q1l-AQrzSpTgKfpQiK91iCiv6B0qw,8150
|
683
703
|
plexflow/utils/torrent/__pycache__/files.cpython-312.pyc,sha256=S4-DaMpZ37kVsLj41X-2dhgVR07ulmZDKq6qrQ7DemM,3928
|
684
704
|
plexflow/utils/torrent/__pycache__/hash.cpython-311.pyc,sha256=RDp8Sv5NLkUw0r6w6JD8rOH1ksN3NnTv4DzhZuZBouA,2284
|
685
705
|
plexflow/utils/torrent/__pycache__/hash.cpython-312.pyc,sha256=WopjMrIXzIakvSpjMBokBArQ8j7Yy4cu0yXdMITdU2k,3619
|
@@ -715,7 +735,7 @@ plexflow/utils/video/__pycache__/audio.cpython-312.pyc,sha256=kmzGDCHSC1hWyHwRut
|
|
715
735
|
plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc,sha256=PCjpCLydGXaRsQy6cikhgsEs8WlComfOoYPiLFqfVMA,2515
|
716
736
|
plexflow/utils/video/audio.py,sha256=Pd8OuQHX2QN-lc5iYkB0Vo1OEHmTcvDYH-uKud1f1q4,5262
|
717
737
|
plexflow/utils/video/subtitle.py,sha256=qPvvBjlPj0fynJJvGJgGeKt9ey26R-cF6EoLaYt9iXU,1333
|
718
|
-
plexflow-0.0.
|
719
|
-
plexflow-0.0.
|
720
|
-
plexflow-0.0.
|
721
|
-
plexflow-0.0.
|
738
|
+
plexflow-0.0.139.dist-info/METADATA,sha256=EF6qoEQr2YFR3b_IuYKYHhazU3WeYBOf0uAVvWuBogY,2971
|
739
|
+
plexflow-0.0.139.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
740
|
+
plexflow-0.0.139.dist-info/entry_points.txt,sha256=9RJC3ikOQORHNOn573EdwJOBUnFU_4EGHbtNUM5pjjY,1557
|
741
|
+
plexflow-0.0.139.dist-info/RECORD,,
|
File without changes
|
File without changes
|