plexflow 0.0.133__py3-none-any.whl → 0.0.135__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/plex/library/folders/assets/plex_subtitle_asset.py +1 -1
- plexflow/core/plex/library/folders/assets/plex_video_asset.py +1 -1
- plexflow/utils/strings/sanitize.py +26 -1
- {plexflow-0.0.133.dist-info → plexflow-0.0.135.dist-info}/METADATA +1 -1
- {plexflow-0.0.133.dist-info → plexflow-0.0.135.dist-info}/RECORD +7 -7
- {plexflow-0.0.133.dist-info → plexflow-0.0.135.dist-info}/WHEEL +0 -0
- {plexflow-0.0.133.dist-info → plexflow-0.0.135.dist-info}/entry_points.txt +0 -0
@@ -15,4 +15,4 @@ class PlexSubtitleAsset(PlexAsset):
|
|
15
15
|
if not self.season and not self.episode:
|
16
16
|
return self.root / Path(f"{self.title} ({self.year}){'.' + str(self.index) if self.index else ''}.{self.lang}" + self.ext)
|
17
17
|
else:
|
18
|
-
return self.root / Path(f"S{self.season:02d}E
|
18
|
+
return self.root / Path(f"S{self.season:02d}E{self.episode:02d}{'.' + str(self.index) if self.index else ''}.{self.lang}" + self.ext)
|
@@ -12,4 +12,4 @@ class PlexVideoAsset(PlexAsset):
|
|
12
12
|
if not self.season and not self.episode:
|
13
13
|
return self.root / Path(f"{self.title} ({self.year})" + self.ext)
|
14
14
|
else:
|
15
|
-
return self.root / Path(f"S{self.season:02d}E
|
15
|
+
return self.root / Path(f"S{self.season:02d}E{self.episode:02d}" + self.ext)
|
@@ -6,4 +6,29 @@ def remove_punctuation(text):
|
|
6
6
|
return "" # Handle non-string input gracefully
|
7
7
|
|
8
8
|
translator = str.maketrans('', '', string.punctuation)
|
9
|
-
return text.translate(translator)
|
9
|
+
return text.translate(translator)
|
10
|
+
|
11
|
+
def clean_string(input_string, remove_spaces: bool = False):
|
12
|
+
"""
|
13
|
+
Strips all punctuation and spaces from a string and converts it to lowercase.
|
14
|
+
|
15
|
+
Args:
|
16
|
+
input_string (str): The string to clean.
|
17
|
+
|
18
|
+
Returns:
|
19
|
+
str: The cleaned string.
|
20
|
+
"""
|
21
|
+
# Create a translation table to remove punctuation
|
22
|
+
# string.punctuation contains all standard punctuation characters
|
23
|
+
translator = str.maketrans('', '', string.punctuation)
|
24
|
+
|
25
|
+
# Remove punctuation using the translation table
|
26
|
+
no_punctuation = input_string.translate(translator)
|
27
|
+
|
28
|
+
# Remove all spaces
|
29
|
+
no_spaces = no_punctuation.replace(" ", "") if remove_spaces else no_punctuation
|
30
|
+
|
31
|
+
# Convert to lowercase
|
32
|
+
cleaned_string = no_spaces.lower()
|
33
|
+
|
34
|
+
return cleaned_string
|
@@ -290,8 +290,8 @@ plexflow/core/plex/library/__pycache__/library.cpython-311.pyc,sha256=yL69reegO6
|
|
290
290
|
plexflow/core/plex/library/__pycache__/library.cpython-312.pyc,sha256=6-TJWeb3YFArriMpzfMswXsBrlp3antN7QvUxr4LBaM,4518
|
291
291
|
plexflow/core/plex/library/__pycache__/show.cpython-312.pyc,sha256=p0h8b6DtlcQak-HGZZeL31ToMsifkbNqQtbfDBT4tVM,3656
|
292
292
|
plexflow/core/plex/library/folders/assets/plex_asset.py,sha256=awY8vhg3KoU2uCB18y5MleE3aAUdVDTnN1OaTmm2oJc,530
|
293
|
-
plexflow/core/plex/library/folders/assets/plex_subtitle_asset.py,sha256=
|
294
|
-
plexflow/core/plex/library/folders/assets/plex_video_asset.py,sha256=
|
293
|
+
plexflow/core/plex/library/folders/assets/plex_subtitle_asset.py,sha256=LsPka5J4OhNgdPmChV2e-2ZW-9xbBc4GMU-c7LsbTao,835
|
294
|
+
plexflow/core/plex/library/folders/assets/plex_video_asset.py,sha256=4UA7aR-5ukhAPT_bl5vQjWc8DXs_jSaXtR0UDlrMxdw,614
|
295
295
|
plexflow/core/plex/library/folders/plex_folder.py,sha256=GZnyQO6bzcire-2mxPjIPJrq8J0S_4uVsOfVCiHo2E0,387
|
296
296
|
plexflow/core/plex/library/folders/plex_movie_folder.py,sha256=ns-3yf5VgikXc5IBeN8xPTtB9LHkPIQOZ4CsvcBZNU8,1672
|
297
297
|
plexflow/core/plex/library/folders/plex_show_folder.py,sha256=rPBNxBuVt4cfappqTbaHaa6faGDW_Ho1Tw6xjLXv6wU,1892
|
@@ -665,7 +665,7 @@ plexflow/utils/strings/__pycache__/sanitize.cpython-312.pyc,sha256=al-VD4Gphby-b
|
|
665
665
|
plexflow/utils/strings/filesize.py,sha256=mLVd0xqIEzAif5Tn_PyCddFmUPXPNnEbLhBNJTsgOvs,1547
|
666
666
|
plexflow/utils/strings/json_extract.py,sha256=590oY1LMnbe9COm3fD6z74OtOzxeXd3Hrf06afhHOvc,14884
|
667
667
|
plexflow/utils/strings/language.py,sha256=J9-wqmCdxf9Ws5_X1tV4vX4d7AGkKci0eaBE4Lit0j0,269
|
668
|
-
plexflow/utils/strings/sanitize.py,sha256=
|
668
|
+
plexflow/utils/strings/sanitize.py,sha256=_ReRBSoOC5S_cGlIJ4VagmMAVmMHPmxtZGNSD0oADs4,1039
|
669
669
|
plexflow/utils/subtitle/__pycache__/search.cpython-312.pyc,sha256=RiMTyALG74DJn67xhCvZ2ofXBOTyetMOU3Tq_bVdbts,3554
|
670
670
|
plexflow/utils/subtitle/search.py,sha256=HW_JOrj-cpRrVnxWh56XjRWhb98E73V1V5QHCq2y7CM,2441
|
671
671
|
plexflow/utils/tasks/__pycache__/decorators.cpython-311.pyc,sha256=8zuAsEfYLEBQQ4DGKqkx-JFCjd73kGhAiPblBNFa2cQ,1675
|
@@ -715,7 +715,7 @@ plexflow/utils/video/__pycache__/audio.cpython-312.pyc,sha256=kmzGDCHSC1hWyHwRut
|
|
715
715
|
plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc,sha256=PCjpCLydGXaRsQy6cikhgsEs8WlComfOoYPiLFqfVMA,2515
|
716
716
|
plexflow/utils/video/audio.py,sha256=Pd8OuQHX2QN-lc5iYkB0Vo1OEHmTcvDYH-uKud1f1q4,5262
|
717
717
|
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.
|
718
|
+
plexflow-0.0.135.dist-info/METADATA,sha256=qetVcH5dlSM5uAjUB-HiK_UxfH33JCPyEgz8D_AhiX0,2971
|
719
|
+
plexflow-0.0.135.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
720
|
+
plexflow-0.0.135.dist-info/entry_points.txt,sha256=9RJC3ikOQORHNOn573EdwJOBUnFU_4EGHbtNUM5pjjY,1557
|
721
|
+
plexflow-0.0.135.dist-info/RECORD,,
|
File without changes
|
File without changes
|