Commit Graph

64 Commits (707a8e62f97f77c9777b751a2f1cdc56c97b5154)

Author SHA1 Message Date
jjlawren 0426b211f6
Rewrite Plex tests to use mocked payloads (#44044) 2021-01-07 19:56:52 +01:00
Ville Skyttä 43474762b2
Drop remaining Python < 3.8 support (#44743)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-04 11:47:29 +01:00
Franck Nijhof 65cf2fcb6f
Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
jjlawren f2f935506e
Use Plex websocket payloads to reduce overhead (#42332)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-02 19:00:13 +01:00
jjlawren e6e4c9cf59
Allow Cast to play Plex media (#41869)
* Allow Cast to play Plex media

* Add Plex to after_dependencies, add missing constant

* Extract function from Sonos service to allow media lookups

* Move to non-async method

* Check if media_id exists

* Add test to make codecov happy
2020-10-19 16:34:22 -05:00
jjlawren c63c253b7f
Discover Plex clients using GDM (#39053) 2020-10-14 15:46:52 +02:00
jjlawren be9ff3bd66
Accept new Plex websocket callback payloads (#40773) 2020-10-01 09:57:45 +02:00
jjlawren 3596eb39f2
Add support to reauthorize expired Plex tokens (#40469) 2020-09-28 16:14:54 +02:00
jjlawren df9634a41f
Refactor Plex tests using fixtures (#40260)
* Refactor Plex tests using fixtures

* Avoid unnecessary coroutine declaration
2020-09-22 22:14:41 -05:00
Martin Hjelmare e96fed20c8
Add children media class (#39902)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 13:08:13 +02:00
jjlawren dd7f282723
Add new Plex movie lookup method for media_player.play_media (#39584) 2020-09-04 11:32:36 +02:00
jjlawren aecd74c6af
Add service to scan for new Plex clients (#39074) 2020-09-03 09:35:37 +02:00
jjlawren d66bc6a873
Add Recently Added and On Deck to Plex media browser (#39232) 2020-09-03 09:26:30 +02:00
jjlawren cb1cf2238d
Add Plex service to refresh a library (#39094)
* Add Plex service to refresh a library

* Clean up rebase leftovers

* Re-run black

* Fix docstring

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2020-09-02 13:56:41 -05:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
jjlawren 1bc4de2bd3
Add tests for Plex media browser (#39220) 2020-08-26 23:24:44 +02:00
jjlawren 67312e2d42
Fix lookup by Plex media key when playing on Sonos (#38119) 2020-08-03 12:40:48 +02:00
jjlawren 1d987b4846
Ignore remote Plex clients during plex.tv lookup (#38327) 2020-07-29 20:56:32 +02:00
jjlawren a7dfa60208
Fix Sonos speaker lookup for Plex (#37942) 2020-07-17 18:18:53 -07:00
jjlawren 7128092139
Fix missing Plex account mocks in tests (#37591) 2020-07-06 22:58:43 -07:00
J. Nick Koston bea3d841d2
Mock setup in plex test to prevent CI failure (#37590) 2020-07-06 17:25:22 -07:00
jjlawren ba356c41e0
Fix Plex client controls when connected via plex.tv resource (#37572) 2020-07-06 15:16:41 -07:00
jjlawren ec13eecc59
Update Plex tests to mock websockets (#37147)
* Update Plex tests to mock websockets

* Avoid unnecessary class mock
2020-06-27 10:03:51 +02:00
jjlawren 40573bf393
Plex tests cleanup and additions (#37117) 2020-06-25 23:24:58 -07:00
jjlawren fd1a8dd96c
Fix Plex when using local tokenless authentication (#37096) 2020-06-25 17:10:40 -07:00
jjlawren d445c16697
Handle Plex Live TV sessions (#36919) 2020-06-19 17:12:47 +02:00
jjlawren d5cc3208af
Discover controllable Plex clients using plex.tv (#36857) 2020-06-17 12:04:47 -07:00
jjlawren d4d233536f
Fix missing options in Plex config entry (#36683) 2020-06-11 15:45:00 -07:00
jjlawren 9aac8482d5
Remove deprecated Plex YAML config (#36388) 2020-06-03 09:20:21 -07:00
jjlawren 44d7169642
Fix flaky Plex test (#36391) 2020-06-02 17:37:10 -05:00
Quentame 1855c91988
Use CONF_CLIENT_ID & CONF_CLIENT_SECRET from homeassistant.const (#36233)
* Use CONF_CLIENT_ID & CONF_CLIENT_SECRET from homeassistant.const

* Fix pylint

* Use in tests

* Search for "client_id"

* Fix tests

* Fix test

* Fix test
2020-05-30 17:27:20 +02:00
jjlawren 4e74fae615
Playback on Sonos speakers from Plex integration (#36177)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-27 15:36:08 -07:00
jjlawren 59c112a3f2
Decouple media lookup from Plex play_media service (#35663)
* Decouple media lookup from play_media service

* More explicit input/search validation, cleanup, more tests

* Minor cleanup

* Normalize media_type string in lookup call

* Move key lookup, add tests via service calls

* Always allow play_media service calls

* No need to pass arguments to nested functions
2020-05-26 14:39:56 -05:00
jjlawren c12f8bed43
Plex discovery on demand (#35303)
* Allow Plex discovery on demand

* Add new discovery source

* Add tests
2020-05-13 09:11:00 -04:00
jjlawren ad419911bc
Add config option to ignore Plex Web clients (#34708) 2020-05-08 09:49:15 -07:00
Franck Nijhof 2223592486
Add get_url helper, deprecate base_url (#35224) 2020-05-08 02:29:47 +02:00
jjlawren dfe2a457c0
Handle config with a limited Plex account (#35218) 2020-05-06 18:46:00 -07:00
jjlawren 740d9c575e
Add manual config flow for Plex (#34476) 2020-05-05 15:42:21 -07:00
Paulus Schoutsen ec47216388
Use built-in test helpers on 3.8 (#34901) 2020-04-30 13:29:50 -07:00
Paulus Schoutsen 454c5d824a
Attempt to fix CI (#34800) 2020-04-28 10:31:22 -07:00
jjlawren c582911879
Refactor Plex device/session updates (#34616) 2020-04-23 18:12:39 -07:00
jjlawren 42ca566e05
Improve Plex debounce/throttle logic (#33805)
* Improve Plex debounce/throttle logic

* Use Debouncer helper, rewrite affected tests

* Mock storage so files aren't left behind

* Don't bother with wrapper method, store debouncer call during init

* Test cleanup from review

* Don't patch own code in tests
2020-04-10 00:49:09 +02:00
jjlawren d3a4270312
Plex logging additions & cleanup (#33681) 2020-04-04 23:21:20 -07:00
jjlawren 42353282d4
Debounce calls to Plex server (#33560)
* Debounce calls to Plex server

* Simplify debounce by recommendation

* Update tests to handle debounce

* Test debouncer, fix & optimize tests

* Use property instead
2020-04-03 22:34:42 -07:00
jjlawren 312af53935
Handle Plex certificate updates (#33230)
* Handle Plex certificate updates

* Use exception in place

* Add test
2020-03-28 21:02:29 -07:00
jjlawren 44c7743351
Rewrite and add Plex tests (#32633)
* Rewrite and add Plex tests

* Remove unnecessary mocks

* Explicitly import constants for readability
2020-03-11 09:37:02 -07:00
Paulus Schoutsen 4717d072c9
Remove discovery and legacy config file loading for Plex (#32510) 2020-03-05 12:36:18 -08:00
Paulus Schoutsen 1615a5ee81
Use unique_id in Plex config entries (#32489) 2020-03-04 21:42:48 -08:00
Paulus Schoutsen dd7d8d4792
Remove 'show all controls' option for Plex (#32391) 2020-03-04 14:42:50 -08:00
jjlawren 0213f43f10
Add options to ignore shared/managed Plex clients (#31738)
* Add option to ignore shared/managed Plex clients

* Start to allow user selection

* hass object not ready during init

* Don't bother sorting

* Plex account multi-select, handle new users not matching config

* Fix/add tests

* Lint simplifications

* Review cleanup

* Oops

* Rename options attributes, fix/add tests
2020-02-18 16:46:45 -08:00