plexflow 0.0.127__py3-none-any.whl → 0.0.129__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.
@@ -5,6 +5,10 @@ from plexflow.core.metadata.auto.auto_providers.tmdb.show import AutoTmdbShow
5
5
  from plexflow.core.metadata.auto.auto_providers.tvdb.show import AutoTvdbShow
6
6
  from plexflow.core.metadata.auto.auto_providers.imdb.show import AutoImdbShow
7
7
  from plexflow.core.metadata.auto.auto_providers.plex.show import AutoPlexShow
8
+ from plexflow.core.plex.library.show import PlexLibraryShow
9
+ from plexflow.core.metadata.providers.plex.datatypes import PlexUserState # DO NOT DELETE
10
+ from typing import List
11
+ from plexflow.core.metadata.providers.plex.datatypes import PlexEpisodeMetadata
8
12
 
9
13
  class Show(PartialContext):
10
14
  def __init__(self, **kwargs) -> None:
@@ -105,3 +109,52 @@ class Show(PartialContext):
105
109
 
106
110
  def update(self, movie: AutoShow):
107
111
  self.set(f"show/{movie.source}", movie)
112
+
113
+ def update_library_show(self, show: PlexLibraryShow):
114
+ self.set("library-show", show)
115
+
116
+ @property
117
+ def library_show(self) -> PlexLibraryShow:
118
+ return self.get('library-show')
119
+
120
+ def update_library_tags(self, tags: set):
121
+ self.set("library-show/tags", tags)
122
+
123
+ @property
124
+ def library_tags(self) -> set:
125
+ return self.get('library-show/tags')
126
+
127
+ def update_plex_tags(self, tags: set):
128
+ self.set("plex-show/tags", tags)
129
+
130
+ @property
131
+ def plex_tags(self) -> set:
132
+ return self.get('plex-show/tags')
133
+
134
+ def update_missing_tags(self, tags: set):
135
+ self.set("missing/tags", tags)
136
+
137
+ @property
138
+ def missing_tags(self) -> set:
139
+ return self.get('missing/tags')
140
+
141
+ def update_watch_states(self, states: List[dict]):
142
+ self.set("watch/states", states)
143
+
144
+ @property
145
+ def watch_states(self) -> List[dict]:
146
+ return self.get('watch/states')
147
+
148
+ def update_plex_episodes(self, episodes: List[PlexEpisodeMetadata]):
149
+ self.set("plex/episodes", episodes)
150
+
151
+ @property
152
+ def plex_episodes(self) -> List[PlexEpisodeMetadata]:
153
+ return self.get('plex/episodes')
154
+
155
+ def update_selected_episode(self, episode: PlexEpisodeMetadata):
156
+ self.set("episodes/selected", episode)
157
+
158
+ @property
159
+ def selected_episode(self) -> PlexEpisodeMetadata:
160
+ return self.get('episodes/selected')
@@ -725,9 +725,6 @@ class WatchStateMediaContainer:
725
725
 
726
726
  identifier: Optional[str] = None
727
727
  size: Optional[int] = None
728
- UserState: Optional[PlexUserState] = None
728
+ UserState: Optional[List[PlexUserState]] = None
729
729
  _catchall: dict = field(default_factory=dict)
730
730
 
731
- def __post_init__(self):
732
- if isinstance(self.UserState, dict):
733
- self.UserState = PlexUserState(**self.UserState)
@@ -151,7 +151,7 @@ def get_show_tags(key: str) -> set:
151
151
 
152
152
  return tags
153
153
 
154
- def get_watch_state_by_rating_key(key: str) -> Union[PlexUserState, None]:
154
+ def get_watch_state_by_rating_key(key: str) -> Union[List[PlexUserState], None]:
155
155
  """
156
156
  Get the watch state of a movie or show using its rating key.
157
157
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: plexflow
3
- Version: 0.0.127
3
+ Version: 0.0.129
4
4
  Summary: A short description of the package.
5
5
  License: MIT
6
6
  Keywords: keyword1,keyword2,keyword3
@@ -32,7 +32,7 @@ plexflow/core/context/partials/ids.py,sha256=QoQ6FbX1OIWrE-iuz-G6kSzBlTt1_I1jyfl
32
32
  plexflow/core/context/partials/movie.py,sha256=VXQ2SspFgGSRgDefg4VlHrH2fns3KRuKlU72ps6527o,3861
33
33
  plexflow/core/context/partials/movie_assets.py,sha256=qjZTs-lpPfZkQQSKm6CB4aeECX5_YzOom51PxZzmnts,1913
34
34
  plexflow/core/context/partials/reports.py,sha256=0W58RwK3VSsVHbF0rhvMNNlZZr01eutwermyvdeEZIs,810
35
- plexflow/core/context/partials/show.py,sha256=BcGXISwnWYDbz_VhDkTmaZ98VDXoaF4wmM2b9wjxz3U,3389
35
+ plexflow/core/context/partials/show.py,sha256=lfjh1mVg49SEFzMSLfseDs4MgLKLx_8_ltHtlWoHbUc,5085
36
36
  plexflow/core/context/partials/subtitles.py,sha256=0NhKGkP-sArQswuSyA7puRSjjoobF-3Ah7Pd39QkgTU,535
37
37
  plexflow/core/context/partials/tgx_batch.py,sha256=TduB09oBOQ8CtmPYsHIeNe7AI-ypKw21zQAX-7qktEs,859
38
38
  plexflow/core/context/partials/tgx_context.py,sha256=_FuhOvKsFqi_uynHxgC9_QIR2CfYmz-uJCRFtGFJmXI,1641
@@ -222,14 +222,14 @@ plexflow/core/metadata/providers/plex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
222
222
  plexflow/core/metadata/providers/plex/__pycache__/__init__.cpython-311.pyc,sha256=Dn0hfFPLViFaic_zPb69TzXE3CVgDayCBJbfj5GM6N8,187
223
223
  plexflow/core/metadata/providers/plex/__pycache__/__init__.cpython-312.pyc,sha256=fwdj_MNjIInQSPXMhY9YiRSe9CJAwPElwbYa1fNbRvE,173
224
224
  plexflow/core/metadata/providers/plex/__pycache__/datatypes.cpython-311.pyc,sha256=S6n0CREPam6rZ5qDl-iasX-yYLFAoQCwr3zAVU1OKMI,49762
225
- plexflow/core/metadata/providers/plex/__pycache__/datatypes.cpython-312.pyc,sha256=qdbF6-Lmt89gd2m-UuxRxvKU1RC0rmFd1cwpASikuFA,45954
225
+ plexflow/core/metadata/providers/plex/__pycache__/datatypes.cpython-312.pyc,sha256=w4XsoiazXUNHPa6PkOD5lyWmG618xneLb93gOibM1T4,45674
226
226
  plexflow/core/metadata/providers/plex/__pycache__/imdb.cpython-311.pyc,sha256=N_uu32ljM0xa1Nn8NK43QtU9tYRw_LyBblq7FgbfCg0,4342
227
227
  plexflow/core/metadata/providers/plex/__pycache__/moviemeter.cpython-311.pyc,sha256=P78PwQIcVFzjwQqjHRGHhoWx6XtHRqJKIWeeX_jId4s,2551
228
228
  plexflow/core/metadata/providers/plex/__pycache__/plex.cpython-311.pyc,sha256=FgbspEc3m5Vkm_m9Ry7gVAavs_2-4Er4FIREdJgaDIQ,8182
229
- plexflow/core/metadata/providers/plex/__pycache__/plex.cpython-312.pyc,sha256=wSeEa7IHHJ-sNdRJBNFI_mM49u6Cg7RGwUZvwI1Cx7I,7848
229
+ plexflow/core/metadata/providers/plex/__pycache__/plex.cpython-312.pyc,sha256=lX04i99qS0yOJmcHxRV28yZKBg3ihIcuEkXmIuQyxos,7792
230
230
  plexflow/core/metadata/providers/plex/__pycache__/tmdb.cpython-311.pyc,sha256=vWlpw_-ldSWwFvz67kTwxK9XxZPy7iExyLgD6rTOf10,4200
231
- plexflow/core/metadata/providers/plex/datatypes.py,sha256=NZaaAnBf_5BgPg07taQimk5Fj0nYhv1FBaVq2FlKOcc,34208
232
- plexflow/core/metadata/providers/plex/plex.py,sha256=KbXwAXpoPypCYwcUVgbvQCzyFCnBU93-iurS9tEiuak,6170
231
+ plexflow/core/metadata/providers/plex/datatypes.py,sha256=hEa4CbOV-NyYz2W5KzIjO_hkWrW-P8CxR45Fz6yvzGE,34079
232
+ plexflow/core/metadata/providers/plex/plex.py,sha256=-ti3RtrQavMwFff37nirJPbrKmtm17weMBvWfZNbxzE,6176
233
233
  plexflow/core/metadata/providers/tmdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
234
234
  plexflow/core/metadata/providers/tmdb/__pycache__/__init__.cpython-311.pyc,sha256=djXYmvhVt2MFuzdiZ7ojQCXMa9UffVv_j_hBl0bdIvM,187
235
235
  plexflow/core/metadata/providers/tmdb/__pycache__/__init__.cpython-312.pyc,sha256=syh3BYXz8qBfAjyO9lVDlfl_Jf3VfkU--pywQ1ZeFG8,173
@@ -713,7 +713,7 @@ plexflow/utils/video/__pycache__/audio.cpython-312.pyc,sha256=kmzGDCHSC1hWyHwRut
713
713
  plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc,sha256=PCjpCLydGXaRsQy6cikhgsEs8WlComfOoYPiLFqfVMA,2515
714
714
  plexflow/utils/video/audio.py,sha256=Pd8OuQHX2QN-lc5iYkB0Vo1OEHmTcvDYH-uKud1f1q4,5262
715
715
  plexflow/utils/video/subtitle.py,sha256=qPvvBjlPj0fynJJvGJgGeKt9ey26R-cF6EoLaYt9iXU,1333
716
- plexflow-0.0.127.dist-info/METADATA,sha256=cyALDvg9Rb4cEwjTQEXVacg7q62rnXBcbM5LsWJ8k6w,2971
717
- plexflow-0.0.127.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
718
- plexflow-0.0.127.dist-info/entry_points.txt,sha256=9RJC3ikOQORHNOn573EdwJOBUnFU_4EGHbtNUM5pjjY,1557
719
- plexflow-0.0.127.dist-info/RECORD,,
716
+ plexflow-0.0.129.dist-info/METADATA,sha256=OtWB_9gAVCtNivzs5zq1g8IAYt1374qQyCHOpOoKsEY,2971
717
+ plexflow-0.0.129.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
718
+ plexflow-0.0.129.dist-info/entry_points.txt,sha256=9RJC3ikOQORHNOn573EdwJOBUnFU_4EGHbtNUM5pjjY,1557
719
+ plexflow-0.0.129.dist-info/RECORD,,