plex-api-client 0.6.1__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.
Files changed (154) hide show
  1. plex_api/__init__.py +4 -0
  2. plex_api/_hooks/__init__.py +5 -0
  3. plex_api/_hooks/registration.py +13 -0
  4. plex_api/_hooks/sdkhooks.py +57 -0
  5. plex_api/_hooks/types.py +74 -0
  6. plex_api/activities.py +151 -0
  7. plex_api/authentication.py +146 -0
  8. plex_api/butler.py +333 -0
  9. plex_api/hubs.py +158 -0
  10. plex_api/library.py +808 -0
  11. plex_api/log.py +225 -0
  12. plex_api/media.py +210 -0
  13. plex_api/models/__init__.py +4 -0
  14. plex_api/models/components/__init__.py +5 -0
  15. plex_api/models/components/security.py +11 -0
  16. plex_api/models/errors/__init__.py +63 -0
  17. plex_api/models/errors/addplaylistcontents.py +32 -0
  18. plex_api/models/errors/applyupdates.py +32 -0
  19. plex_api/models/errors/cancelserveractivities.py +32 -0
  20. plex_api/models/errors/checkforupdates.py +32 -0
  21. plex_api/models/errors/clearplaylistcontents.py +32 -0
  22. plex_api/models/errors/createplaylist.py +32 -0
  23. plex_api/models/errors/deletelibrary.py +32 -0
  24. plex_api/models/errors/deleteplaylist.py +32 -0
  25. plex_api/models/errors/enablepapertrail.py +32 -0
  26. plex_api/models/errors/getavailableclients.py +32 -0
  27. plex_api/models/errors/getbutlertasks.py +32 -0
  28. plex_api/models/errors/getdevices.py +32 -0
  29. plex_api/models/errors/getfilehash.py +32 -0
  30. plex_api/models/errors/getglobalhubs.py +32 -0
  31. plex_api/models/errors/getlibraries.py +32 -0
  32. plex_api/models/errors/getlibrary.py +32 -0
  33. plex_api/models/errors/getlibraryhubs.py +32 -0
  34. plex_api/models/errors/getmetadata.py +32 -0
  35. plex_api/models/errors/getmetadatachildren.py +32 -0
  36. plex_api/models/errors/getmyplexaccount.py +32 -0
  37. plex_api/models/errors/getondeck.py +32 -0
  38. plex_api/models/errors/getpin.py +32 -0
  39. plex_api/models/errors/getplaylist.py +32 -0
  40. plex_api/models/errors/getplaylistcontents.py +32 -0
  41. plex_api/models/errors/getplaylists.py +32 -0
  42. plex_api/models/errors/getrecentlyadded.py +32 -0
  43. plex_api/models/errors/getresizedphoto.py +32 -0
  44. plex_api/models/errors/getsearchresults.py +32 -0
  45. plex_api/models/errors/getserveractivities.py +32 -0
  46. plex_api/models/errors/getservercapabilities.py +32 -0
  47. plex_api/models/errors/getserveridentity.py +32 -0
  48. plex_api/models/errors/getserverlist.py +32 -0
  49. plex_api/models/errors/getserverpreferences.py +32 -0
  50. plex_api/models/errors/getsessionhistory.py +32 -0
  51. plex_api/models/errors/getsessions.py +32 -0
  52. plex_api/models/errors/getsourceconnectioninformation.py +32 -0
  53. plex_api/models/errors/getstatistics.py +32 -0
  54. plex_api/models/errors/gettimeline.py +32 -0
  55. plex_api/models/errors/gettoken.py +32 -0
  56. plex_api/models/errors/gettranscodesessions.py +32 -0
  57. plex_api/models/errors/gettransienttoken.py +32 -0
  58. plex_api/models/errors/getupdatestatus.py +32 -0
  59. plex_api/models/errors/logline.py +32 -0
  60. plex_api/models/errors/logmultiline.py +32 -0
  61. plex_api/models/errors/markplayed.py +32 -0
  62. plex_api/models/errors/markunplayed.py +32 -0
  63. plex_api/models/errors/performsearch.py +32 -0
  64. plex_api/models/errors/performvoicesearch.py +32 -0
  65. plex_api/models/errors/refreshlibrary.py +32 -0
  66. plex_api/models/errors/sdkerror.py +24 -0
  67. plex_api/models/errors/startalltasks.py +32 -0
  68. plex_api/models/errors/starttask.py +32 -0
  69. plex_api/models/errors/startuniversaltranscode.py +32 -0
  70. plex_api/models/errors/stopalltasks.py +32 -0
  71. plex_api/models/errors/stoptask.py +32 -0
  72. plex_api/models/errors/stoptranscodesession.py +32 -0
  73. plex_api/models/errors/updateplaylist.py +32 -0
  74. plex_api/models/errors/updateplayprogress.py +32 -0
  75. plex_api/models/errors/uploadplaylist.py +32 -0
  76. plex_api/models/operations/__init__.py +64 -0
  77. plex_api/models/operations/addplaylistcontents.py +74 -0
  78. plex_api/models/operations/applyupdates.py +39 -0
  79. plex_api/models/operations/cancelserveractivities.py +25 -0
  80. plex_api/models/operations/checkforupdates.py +32 -0
  81. plex_api/models/operations/clearplaylistcontents.py +25 -0
  82. plex_api/models/operations/createplaylist.py +91 -0
  83. plex_api/models/operations/deletelibrary.py +25 -0
  84. plex_api/models/operations/deleteplaylist.py +25 -0
  85. plex_api/models/operations/enablepapertrail.py +17 -0
  86. plex_api/models/operations/getavailableclients.py +58 -0
  87. plex_api/models/operations/getbutlertasks.py +52 -0
  88. plex_api/models/operations/getdevices.py +53 -0
  89. plex_api/models/operations/getfilehash.py +28 -0
  90. plex_api/models/operations/getglobalhubs.py +100 -0
  91. plex_api/models/operations/getlibraries.py +79 -0
  92. plex_api/models/operations/getlibrary.py +153 -0
  93. plex_api/models/operations/getlibraryhubs.py +205 -0
  94. plex_api/models/operations/getlibraryitems.py +227 -0
  95. plex_api/models/operations/getmetadata.py +264 -0
  96. plex_api/models/operations/getmetadatachildren.py +115 -0
  97. plex_api/models/operations/getmyplexaccount.py +50 -0
  98. plex_api/models/operations/getondeck.py +166 -0
  99. plex_api/models/operations/getpin.py +86 -0
  100. plex_api/models/operations/getplaylist.py +70 -0
  101. plex_api/models/operations/getplaylistcontents.py +178 -0
  102. plex_api/models/operations/getplaylists.py +85 -0
  103. plex_api/models/operations/getrecentlyadded.py +166 -0
  104. plex_api/models/operations/getresizedphoto.py +48 -0
  105. plex_api/models/operations/getsearchresults.py +182 -0
  106. plex_api/models/operations/getserveractivities.py +63 -0
  107. plex_api/models/operations/getservercapabilities.py +99 -0
  108. plex_api/models/operations/getserveridentity.py +42 -0
  109. plex_api/models/operations/getserverlist.py +53 -0
  110. plex_api/models/operations/getserverpreferences.py +57 -0
  111. plex_api/models/operations/getsessionhistory.py +67 -0
  112. plex_api/models/operations/getsessions.py +185 -0
  113. plex_api/models/operations/getsourceconnectioninformation.py +25 -0
  114. plex_api/models/operations/getstatistics.py +93 -0
  115. plex_api/models/operations/gettimeline.py +50 -0
  116. plex_api/models/operations/gettoken.py +35 -0
  117. plex_api/models/operations/gettranscodesessions.py +71 -0
  118. plex_api/models/operations/gettransienttoken.py +36 -0
  119. plex_api/models/operations/getupdatestatus.py +57 -0
  120. plex_api/models/operations/logline.py +50 -0
  121. plex_api/models/operations/logmultiline.py +17 -0
  122. plex_api/models/operations/markplayed.py +25 -0
  123. plex_api/models/operations/markunplayed.py +25 -0
  124. plex_api/models/operations/performsearch.py +30 -0
  125. plex_api/models/operations/performvoicesearch.py +30 -0
  126. plex_api/models/operations/refreshlibrary.py +25 -0
  127. plex_api/models/operations/searchlibrary.py +96 -0
  128. plex_api/models/operations/startalltasks.py +17 -0
  129. plex_api/models/operations/starttask.py +43 -0
  130. plex_api/models/operations/startuniversaltranscode.py +56 -0
  131. plex_api/models/operations/stopalltasks.py +17 -0
  132. plex_api/models/operations/stoptask.py +43 -0
  133. plex_api/models/operations/stoptranscodesession.py +25 -0
  134. plex_api/models/operations/updateplaylist.py +30 -0
  135. plex_api/models/operations/updateplayprogress.py +29 -0
  136. plex_api/models/operations/uploadplaylist.py +47 -0
  137. plex_api/playlists.py +629 -0
  138. plex_api/plex.py +154 -0
  139. plex_api/sdk.py +180 -0
  140. plex_api/sdkconfiguration.py +52 -0
  141. plex_api/search.py +232 -0
  142. plex_api/server.py +525 -0
  143. plex_api/sessions.py +272 -0
  144. plex_api/statistics.py +86 -0
  145. plex_api/updater.py +212 -0
  146. plex_api/utils/__init__.py +4 -0
  147. plex_api/utils/retries.py +120 -0
  148. plex_api/utils/utils.py +898 -0
  149. plex_api/video.py +136 -0
  150. plex_api_client-0.6.1.dist-info/LICENSE.md +21 -0
  151. plex_api_client-0.6.1.dist-info/METADATA +397 -0
  152. plex_api_client-0.6.1.dist-info/RECORD +154 -0
  153. plex_api_client-0.6.1.dist-info/WHEEL +5 -0
  154. plex_api_client-0.6.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetPlaylistContentsErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetPlaylistContentsResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetPlaylistContentsErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetPlaylistsErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetPlaylistsResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetPlaylistsErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetRecentlyAddedErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetRecentlyAddedResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetRecentlyAddedErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetResizedPhotoErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetResizedPhotoResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetResizedPhotoErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetSearchResultsErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetSearchResultsResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetSearchResultsErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetServerActivitiesErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetServerActivitiesResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetServerActivitiesErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class Errors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetServerCapabilitiesResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[Errors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetServerIdentityErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetServerIdentityResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetServerIdentityErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetServerListErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetServerListResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetServerListErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetServerPreferencesErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetServerPreferencesResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetServerPreferencesErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetSessionHistoryErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetSessionHistoryResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetSessionHistoryErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetSessionsErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetSessionsResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetSessionsErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetSourceConnectionInformationErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetSourceConnectionInformationResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetSourceConnectionInformationErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetStatisticsErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetStatisticsResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetStatisticsErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetTimelineErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetTimelineResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetTimelineErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetTokenErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetTokenResponseBody(Exception):
25
+ r"""X-Plex-Client-Identifier is missing"""
26
+ errors: Optional[List[GetTokenErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetTranscodeSessionsErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetTranscodeSessionsResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetTranscodeSessionsErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetTransientTokenErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetTransientTokenResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetTransientTokenErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ import dataclasses
5
+ import requests as requests_http
6
+ from dataclasses_json import Undefined, dataclass_json
7
+ from plex_api import utils
8
+ from typing import List, Optional
9
+
10
+
11
+ @dataclass_json(undefined=Undefined.EXCLUDE)
12
+ @dataclasses.dataclass
13
+ class GetUpdateStatusErrors:
14
+ code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }})
15
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
16
+ status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
17
+
18
+
19
+
20
+
21
+ @dataclass_json(undefined=Undefined.EXCLUDE)
22
+
23
+ @dataclasses.dataclass
24
+ class GetUpdateStatusResponseBody(Exception):
25
+ r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query."""
26
+ errors: Optional[List[GetUpdateStatusErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
27
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }})
28
+ r"""Raw HTTP response; suitable for custom response parsing"""
29
+
30
+
31
+ def __str__(self) -> str:
32
+ return utils.marshal_json(self, type(self))