* Update MyPlexAccount to use Plex API v2
* Update MyPlexAccount test
* Add rememberMe option to MyPlexAccount sign in
* Update MyPlexAccount do string
* Fix discover search results
* Plex API response changed to separate "Free on Demand" and "More Ways To Watch"
* Add test for searchDiscover
* Manually set watchlist and discover result to online metadata objects
* Replace all key format ratingKey with key
* Add libtype argument to searchDiscover
* Update tests for searchDiscover libtype
* Add includeUserState=1 parameter to Discover results details key
* Add method to return UserState object
* Remove Plex news
* Replace requests with query method for online hubs
* Add myPlexAccount watchlist methods
* Add mixin for objects that can be added to watchlist
* Add tests for watchlist
* Always split ratingKey from guid for watchlist
* Add method to retrieve streaming service availability
* Add test for streaming service availability
* Add filtering and sorting for watchlists
* Fix watchlist tests
* Add method to check if an item is on a user's watchlist
* Update watchlist tests
* Make account optional for WatchlistMixin
* Add Discover search
* Use manuallyLoadXML method for Discover search results
* Remove webshows and podcasts
* Fix WatchlistMixin account AttributeError
* Add BadRequest exception when adding to/removing from watchlist
* Update watchlist tests for BadRequest
* Update watchlist doc strings
* Make test Plex Pass entitlements a subset
* Fix create MyPlexDevice race condition
* Rename to clientId to be consistent
* Move link method to MyPlexAccount
* lets begin
* skip plexpass tests if there is not plexpass on account
* test new myplex attrubutes
* bootstrap: proper photos organisation
* fix rest of photos tests
* fix myplex new attributes test
* fix music bootstrap by setting agent to lastfm
* fix sync tests
* increase bootstrap timeout
* remove timeout from .travis.yml
* do not create playlist-style photoalbums in plex-bootstraptest.py
* allow negative filtering in LibrarySection.search()
* fix sync tests once again
* use sendCrashReports in test_settings
* fix test_settings
* fix test_video
* do not accept eula in bootstrap
* fix PlexServer.isLatest()
* add test against old version of PlexServer
* fix MyPlexAccount.OutOut
* add flag for one-time testing in Travis
* fix test_library onDeck tests
* fix more tests
* use tqdm in plex-bootstraptest for media scanning progress
* create sections one-by-one
* update docs on AlertListener for timeline entries
* fix plex-bootstraptest for server version 1.3.2
* display skip/xpass/xfail reasons
* fix tests on 1.3
* wait for music to be fully processed in plex-bootstraptest
* fix misplaced TEST_ACCOUNT_ONCE
* fix test_myplex_users, not sure if in proper-way
* add pytest-rerunfailures; mark test_myplex_optout as flaky
* fix comment
* Revert "add pytest-rerunfailures; mark test_myplex_optout as flaky"
This reverts commit 580e4c95a7.
* restart plex container on failure
* add conftest.wait_until() and used where some retries are required
* add more wait_until() usage in test_sync
* fix managed user search
* fix updating managed users in myplex
* allow to add new servers to existent users
* add new server to a shared user while bootstrapping
* add some docs on testing process
* perform few attemps when unable to get the claim token
* unlock websocket-client in requirements_dev
* fix docblock in tools/plex-teardowntest
* do not hardcode mediapart size in test_video
* remove cache:pip from travis
* Revert "unlock websocket-client in requirements_dev"
This reverts commit 0d536bd06d.
* remove debug from server.py
* improve webhook tests
* fix type() check to isinstance()
* remove excessive `else` branch due to Hellowlol advice
* add `unknown` as allowed `myPlexMappingState` in test_server