* 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
* Rename _autoReload to _overwriteNone
* Allow disabling auto reloading
* Update test for disabling auto reloading
* Change autoReload to private attribute
* Refactor tag functions into EditTagsMixin
* Fix test mixins tag use of _tagSingular
* Add kwargs to editTags
* Fix _tagSingular and _tagPlural if tag is already singular or plural
* Make editing tags chainable
* Add chaining example to doc string
* Update editTags doc string for batch editing
* Update Collection.edit() method
* Add new EditFieldMixin and subclasses
* Add EditFieldMixin to Plex objects
* Update PlexPartialObject.edit() doc string
* Cast Track parentIndex to int
* Add base _searchTypes property
* Add kwargs to editField
* Editing album title also requires the artist ratingKey
* Add tests for editing fields
* Deprecate Collection.edit()
* Make editing fields chainable
* Add chaining example to doc string
* Add batch editing mode
* Add test for batchEdits
* Clean up mixins imports
* Reorder mixins
* Fix tests for batch edit
* 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>
* Fix mediaType argument for PlexServer.agents()
* Cleanup Agent and AgentMediaType attributes
* Add `DeprecationWarning` to `languageCode`
* Make Agent.settings() method public
* Add `DeprecationWarning` to `Agent._settings()`
* Fix parsing Setting.enumValues
* XML attribute for agent settings uses `values` instead of `enumValues`
* Add secure and option attributes to Setting
* Add test for server agents
Tests:
Create library with multiple paths with valid paths
Create library with multiple paths with an invalid path
Create library with no path
Add path(s) to test library with an invalid path
Remove path(s) to test library with an invalid path
Remove path(s) to test library with valid paths
Add path(s) to test library with valid paths