* Fix related hubs
* Update hub doc strings
* Add reload method for hubs
* Rename movie hub variable to match XML tag
* Add movie hubs test
* Fix hub test
* moving common child (VideoStream, AudioStream, SubtitleStream) attributes to the parent (MediaPartStream)
* removal of no longer present attribs in video, audio, subtitle streams
* additional attribs to video and mediapart streams
* removal of previously unique subtitleStream attribs. attribs are now common or no longer present.
* docstring cleanup of video, audio, and subtitle stream; pass 1
* remove codecID checks as this attribute is now longer used.
* adding key attrib to parent MediaPartStream.
* add transient to SubtitleStream, found in uploaded subtitles
* removing dialogNorm related assertion as this attrib has been removed.
* update Media class based on PR comments
optimizedVersion to be added, need SEARCHTYPES
* update MediaPartStream class based on PR comments
* update VideoStream class based on PR comments
* update AudioStream class based on PR comments
* update SubtitleStream class based on PR comments
* add LyricStream class based on PR comments
* add streamType int and LyricStream to MediaPartStream.parse method
* add MediaPart.lyricStreams method
* spelling correction
* more movement based on PR comments
* alpha ordering MediaPart
* alpha sort VideoStream
* docstring corrections
* remove assert stream.dialogNorm from audio test as dialogNorm has been removed.
* adding LyricStream to _buildStreams function
* adding changes from @johnnywong16
e346f0b4dc
* moving unused imports down and together
* Address docstring review comments
* Change isChildOf for any kwargs
* Add Media.isOptimizedVersion property
* Add photo and track specific attributes
* Remove dead MediaPartStream.parse method
* Update media doc strings
* Add optimized version doc string
* Cast video stream codedHeight and codedWidth to int
* Add required bandwidths to streams
* Update video tests
* Update audio tests
* Fix video tests
* Fix video tests
* Fix video tests
Co-authored-by: Jason Lawrence <jjlawren@users.noreply.github.com>
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
* Make test Plex Pass entitlements a subset
* Fix create MyPlexDevice race condition
* Rename to clientId to be consistent
* Move link method to MyPlexAccount
* Add Library timeline support
* Retry intentional failure with different canary test
* Temporarily disable activities tests
* Set tests for normal runs
* Add tests to validate library timeline attributes
* Add /activities endpoint support
* Fix typos, return a list instead of iterator
* Canary test to validate CI behavior
* Increase timer of canary test to ensure proper run
* Move test to front of run, provide auth and anon versions
* Fix typo
* Use new Plex Music metadata scanner in tests
* Update tests to match Plex Music scanner metadata
* More tweaks to audio metadata matching
* Another tweak
* Allow creating PlayQueues with multiple items, appending items
* Fix single-item playqueues, fix 'next', fix docstrings, run black
* Docstring updates
* More documentation fixes
* Allow removing items from a PlayQueue
* Use f-strings for readability
* Add ability to move items within the PlayQueue
* Cast attributes to proper types, update docs
* Format with black
* flake8 and sphinx fixes
* Reformat with black
* Update __contains__ to accept media objects
* Operate using media items, use methods similar to playlists
* Rename parameter to better match behavior
* Help users by automatically finding appropriate playQueueItemID values
* Add refresh method, auto-refresh before modifying playqueues
* Reformat with black
* Add TAG and TYPE to PlayQueue objects
* Review comments, add playQueueSelectedMetadataItemKey for Chromecast convenience
* Allow setting the playback start point in the PlayQueue
* Add tests, simplify size check
* Use camel case for helper function
* Add a helper to provide the selected item media object
Add history method to PlexPartialObject
Add ratingKey to server history method.
Add tests for movie, show, season, episode, artist, album, and track history.
* 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
* [sync] initial commit
* fix populating of `state` field in sync.Status
* [connection] add posibliity to return first established connection faster
* [base] add timeout argument to PlexObject.fetchItems()
* [sync] add timeout arg to SyncItem.getMedia()
When you have multiple media within one SyncItem it takes a lot of time
to get all the info for this media (on my machine it takes about a
second for each movie).
* [sync] fix marking media as downloaded
* [sync] pass clientIdentifier to created SyncItem()
* [sync] override __repr__() for sync.Status
* fix after @mikes-nasuni`s review
* fix python2 compatibility
* get rid of sync.init()
* use list comprehension
* remove timeout from PlexObject.fetchItems()
* fix SyncItem under python 2.7
* fix __doc__ in sync module
* revert myplex._connect() back to it`s original state
* improve sync docs
* get rid of PlexObjects where not needed
* add X-Plex-Sync-Version=2 to headers
* add sync() method into Video, LibrarySection and MyPlexAccount
* add SyncItem.delete()
* add sync.Policy.create()
* use self._default_sync_title instead of _prettyfilename as default title
* let the tests begin
* add items for refreshing synclists to PlexServer
* fix sync tests
* sync for everybody!
* add TODO doctring for Audio._defaultSyncTitle()
* SyncItems tag may be presented only once, there is no need for loop
* add more TODO docstrings
* hello docs
* remove relative import
* remove unused variable from tests/test_sync.py