* Fixing how advanced settings params are set and adding a prefix & when appending advanced settings. Update parts append to use f-string
* Adding basic test to include Advanced settings.
* lint fix
* fix failing test
* lint fix in test
* Update test_library.py
Add section deletion after testing
* Add sonicAdventure method to MusicSection
* satisfy flake8
* sonicAdventure accepts Track as param
* test with both types for sonicAdventure
* Add authentication to recently added music test
* Fix test_library.py to include missing newline character
* Add sonicAdventure method to Track class
* fix doc as suggested
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
* fix bound on sonicAdventure method
- add type to docstr
* Apply suggestions from code review
- pass in plexpass account to tests
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
* make tests pass on bootstrap
- still asserts it is an iterable
- still checks all elements are tracks
- in case no adventure found, does not fail
---------
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
* Add support for 'group' and 'having' keys in
SmartFilterMixin
- fixes#1285
* Add `group` and `having` fields to `additionalFields` list in `FilteringType` class
- This should allow passing the parsed filters back into `search()`.
Co-Authored-By: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
---------
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
* Optimize methods to use library get/search
* Revert methods
* Fix reloading of episodes for missing parentRatingKey
* Add tests for LibrarySection.get with kwargs
* Use generator for string join
* Group media type edit mixins
* Add UserRatingMixin
* Add LibrarySection methods to multi-edit items
* Remove deprecated banners
* Factor out resource lock/unlock mixins
* Update `fetchItems` to accept list of rating keys
* Add repr and helper methods to Common object
* Update tests
* 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
* Use @cached_property in PlexSession.user
* Use @cached_property in PlexServer.library
* Use @cached_property in PlexServer.settings
* Tests: Update clearing plex.settings cache
* Use @cached_property in LibrarySection.totalSize
* Add backports.cached-property==1.0.2; python_version<="3.7" dependency
* Import cached_property from dist or backports
* Add backports.cached-property to requirements_dev.txt
* Remove version pin for backports.cached-property in requirements.txt
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
* Add PlexObjects for all library media tags
* Add method to return all library media tags
* Add test for Library.tags
* Update Video.optimize
* Update video optimize test
* Use TAGTYPE for LibraryMediaTags
* Accept LibraryMediaTag as a search filter
* Use ratingKey and id before key in repr
* 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