Commit graph

106 commits

Author SHA1 Message Date
JonnyWong16
e23cd8d158
Sanitize XML strings before parsing (#1452) 2024-08-17 14:07:12 -07:00
JonnyWong16
36cbcd0a1c
Add weakref to parent for PlexClient (#1355) 2024-02-04 20:34:16 -08:00
Elan Ruusamäe
301310fb32
Fix: Fallback timeout from constructor in query() (#1231)
* Fallback PlexServer _timeout to TIMEOUT

* Fallback PlexServer query timeout to self._timeout

* Refactor MyPlexAccount, PlexClient query() to use timeout from constructor
2023-08-30 09:41:12 -07:00
Marc Mueller
ea4885acf7
Fix ElementTree DeprecationWarning when testing truth value (3.12) (#1209)
* Fix ElementTree DeprecationWarning when testing truth value (3.12)

* Use is None check

* Update more locations
2023-08-27 13:09:27 -07:00
JonnyWong16
cde1e04495
Refactor fetchItems for pagination (#1143)
* Refactor base fetchItems for pagination

* Use base fetchItems for LibrarySection methods

* Use base fetchItems for MyPlexAccount watchlist

* Use base fetchItems for PlexServer history

* Fix imports
2023-05-24 14:50:30 -07:00
Michael Cramer
1d5eb8a883
"repeat" should not be a boolean: 0, 1 or 2 (#1046)
* "repeat" should not be a boolean: 0, 1 or 2

* cast to int
2022-11-08 16:36:56 -08:00
JonnyWong16
9b0c8e5fd3
More f-string changes (#1025) 2022-11-08 13:40:18 -08:00
JonnyWong16
020a32f2b8
Update PlexAPI to f-strings (#1000)
* Update plexapi to f-strings

* Update tests to f-strings
2022-08-27 22:56:01 -07:00
JonnyWong16
925f573ced
Create separate PlexSession objects (#931)
* Add base findItem method

* Create new PlexSession objects

* PlexSession objects are unique from their base media objects. These objects are built from `/status/sessions` instead of `/library/metadata/<ratingKey>`. This allows reloading data from sessions without overwriting them.

* Add some media and client attributes for sessions

* Add separater property to return the PlexSession user object

* This speeds up building the `PlexSession` object since it doesn't need to lookup the user.
* The user object is also cached for future lookups.

* Remove PlexSession attributes from tests

* Never auto reload a PlexSession object

* Rename PlexSession.usernames for backwards compatibility

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Don't cache myPlexAccount in PlexSession

* Move session stop method to PlexSession

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2022-07-20 20:03:20 -07:00
Kian-Meng Ang
398c058f18
Fix typos (#939) 2022-05-16 15:39:42 -05:00
jjlawren
549e76b25a
Fix playMedia and goToMedia when using a different PMS (#907) 2022-03-17 15:49:33 -05:00
ReenigneArcher
3917b335ca
Fix various typos (#880)
* Fix various typos

* Fix various typos in tests

* Fix typos in `tests`

* Fix more typos

* Fix hasScalingMatrix test

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2022-02-26 19:26:08 -08:00
jjlawren
69739d6f2a
Fix PMS timeline reporting on clients when using playMedia (#826) 2021-09-12 20:51:18 -05:00
jjlawren
f59f150bab
Improve PlexClient connections (#701)
* Improve PlexClient connections

* Add docstring
2021-03-22 14:37:52 -05:00
jjlawren
a78126ed73
Handle missing key when PlayQueue passed to playMedia (#692)
* Handle missing key when playqueue passed to playMedia

* Simpler but less verbose fix
2021-03-11 11:18:51 -06:00
JonnyWong16
b451b22bb8
Fix doc building 2020-11-23 12:20:56 -08:00
JonnyWong16
274b05e913
Fix raise exception docs 2020-11-22 20:43:59 -08:00
JonnyWong16
7f7d03236b
Fix docstrings 2020-11-22 19:06:30 -08:00
Ryan Meek
f9f3535751
Update timeline to return an active timeline object w/ attributes (#572)
* timeline() now returns ClientTimeline objects

* timeline() creates and returns ClientTimeline objects with associated attributes and caching
* Refactor isPlayingMedia to use the new attributes and fix it's default value

* Clarify docstrings

* Remove default param in timeline call & fix docstring typo

* return empty list if `timelines()` comes back empty

Web clients can occasionally return no timelines if no media has been played on them or if nothing has played for a while, this prevents errors in those cases.

* typo

* Workaround for unresponsive clients

* Use sendCommand rather than timelines() for PTP workaround

* Remove workaround, set timeline's wait default to 1

* set timelines() wait default to 0, document buggy behavior

* Use ClientTimeline.key for consistency

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* cast playQueue's IDs as int

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Add audio attribs & make casts bool from int where it makes sense.

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2020-10-02 11:33:53 -05:00
Jason Lawrence
4c8fef144e Fix ElementTree warnings 2020-06-29 17:31:05 -05:00
Steffen Fredriksen
785a2f064b
Merge pull request #489 from jjlawren/timeline_do_not_subscribe
Remove 'timeline/subscribe' calls
2020-06-02 20:59:20 +02:00
Jason Lawrence
275f4ba921 Revert change to default timeline argument 2020-05-13 16:36:30 -05:00
Hellowlol
940efc0013 first pass on compat. 2020-05-12 23:15:16 +02:00
Jason Lawrence
5fe5109806 Remove 'timeline/subscribe' calls 2020-05-12 13:48:47 -05:00
Jason Lawrence
55b335ee7c Add lookup & control of linked Sonos speakers 2020-04-28 14:06:26 -05:00
Steffen Fredriksen
0da9e3994a
Merge pull request #451 from jjlawren/raise_notfound
Raise NotFound on 404 errors
2020-04-16 14:41:14 +02:00
Jason Lawrence
a6cfe4225a Raise NotFound on 404 errors 2020-04-15 17:09:27 -05:00
Hellowlol
ed3d16d1b0 som pytest 4 compat
and change to client timeline is can respond quicker.
2020-04-15 22:53:17 +02:00
jjlawren
cbdf5ec998
Fix playMedia() calls with a PlayQueue (#446)
* Fix playMedia() calls with a PlayQueue

* Fix playlists, simplify
2020-04-09 22:34:14 -05:00
jjlawren
dd91ae41f4
Use Unauthorized exception (#447)
* Use Unauthorized exception in server, myplex, client
2020-04-09 15:56:26 -05:00
Jason Lawrence
87c147c551 Workarounds for Android & Samsung clients 2020-03-29 14:14:48 -05:00
Hellowlol
8b7569b130 lets not give on the master toke if we dont need to. 2019-11-28 23:07:15 +01:00
Hellowlol
2c9402fd44 Fix goToMedia 2019-11-28 23:02:11 +01:00
Hellowlol
7f80f8ff7b Fix for starting playback on Chrome and Plex for windows 2019-11-28 21:58:31 +01:00
Jason Lawrence
6d4ae35339 Workaround for Android TV client commands 2019-10-24 22:23:48 -05:00
Jason Lawrence
f4f635ab36 Review tweaks 2019-10-11 15:30:32 -05:00
Jason Lawrence
8f329f53d7 Simplify query calls, fix proxy bug 2019-10-08 16:06:45 -05:00
Jason Lawrence
23a5ad695b Simplify call 2019-10-08 15:31:37 -05:00
Jason Lawrence
6ef1e9c8f4 Check in sendCommand instead of query 2019-10-08 15:20:48 -05:00
Jason Lawrence
6f789e31bb Plexamp workaround 2019-10-05 12:05:33 -05:00
Hellowlol
d9c87d8423 inital pmp workaround. 2018-11-17 01:46:42 +01:00
Andrey Yantsen
7a67417615 fix docs for Raises clauses 2018-10-03 11:09:43 +01:00
Hellowlol
250d3538c6
fix bug 2018-07-20 22:17:18 +02:00
Hellowlol
c3dc913d81
Fix openpht bug. 2018-01-15 23:44:28 +01:00
Michael Shepanski
61ede66ad5 Dont include token in URLs unless show_secrets set in config; All functions that return a URL such as stream urls and thumbnails still include token 2018-01-04 21:44:35 -05:00
Hellowlol
c1efa6f9c3 Lax missing protocol abilities. If its missing does not mean i dont work. 2018-01-02 00:01:05 +01:00
Hellowlol
2d1e4f02fb Lint cov. 2017-10-25 18:34:59 +02:00
Michael Shepanski
fd015439c4 Fix flake8 warnings 2017-09-29 19:49:13 -04:00
Hellowlol
bff5c4b18f fix 2017-09-12 09:30:12 +02:00
Hellowlol
82f4485f32 test it update docs. 2017-09-12 09:01:40 +02:00