* 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
self.key already contains a leading slash therefore this call to the Plex server will fail with 404 not found.
When the slash from the query location is removed, the call will succeed.
Python 3 fixes (compatible with Python 2):
- use urllib.parse module for quote() and urlencode() instead of urllib
- printing using parenthesis
- dict access: items() instead of iteritems(), keys() converted to list
- filter(): convert results to list