Commit graph

59 commits

Author SHA1 Message Date
JonnyWong16
01131c95cf
Cleanup download methods (#847)
* Add utils.cleanFilename

* Refactor download methods

* Add option to download episodes, tracks, photos into subfolders

* Update download tests

* Test download keep_original_filename
2021-11-20 14:16:58 -08:00
JonnyWong16
49ce2f9bb4
Refactor getWebURL 2021-09-26 15:23:35 -07:00
JonnyWong16
9483e4d9c9
Add custom Plex Web URL override for track, photo, and playlist 2021-08-25 18:10:11 -07:00
JonnyWong16
6448837112
Fix return typo in doc strings 2021-06-06 14:54:15 -07:00
JonnyWong16
6e58f7f70e Refactor lastRatedAt userRating attributes 2021-05-30 15:49:45 -07:00
JonnyWong16
06ff7410a6 Add rating mixin 2021-05-30 15:49:45 -07:00
JonnyWong16
6e501728a0
Cast librarySectionID to int 2021-03-11 13:27:08 -08:00
JonnyWong16
9fa51cee2a
Subclass image url mixins 2021-02-14 19:38:09 -08:00
JonnyWong16
c41f89bf9b
Factor out artUrl, thumbUrl, bannerUrl to mixins 2021-02-14 19:12:18 -08:00
JonnyWong16
88e69d4664
Merge branch 'master' into feature/edit_tags 2021-02-06 20:27:34 -08:00
JonnyWong16
9c1ac7981d
Rename mixins 2021-02-06 20:21:49 -08:00
JonnyWong16
43a54d556d
Fix photo album key 2021-01-24 21:28:27 -08:00
JonnyWong16
c23d9635f5
Rename to mixins 2021-01-24 15:03:23 -08:00
JonnyWong16
cfc5bdae26
Photo plural tags attribute 2021-01-24 14:40:39 -08:00
JonnyWong16
7aaf56a62d
Move all tag editing to a mixin 2021-01-24 14:40:39 -08:00
JonnyWong16
5df75728b3
Fix flake8 2020-12-23 23:05:08 -08:00
JonnyWong16
f41be90a3a
More doc string clean up 2020-12-23 22:24:46 -08:00
JonnyWong16
3430c245e2
Make sure key defaults to blank string so fix #50 works 2020-12-23 22:17:43 -08:00
JonnyWong16
8206dfbade
Fix flake8 2020-12-23 22:00:00 -08:00
JonnyWong16
2acb75f86f
Update all methods used to get an object's children 2020-12-23 21:38:48 -08:00
JonnyWong16
6f5cae2a72
More etag relacement with classes 2020-12-23 20:48:58 -08:00
JonnyWong16
d433c0b3d4
Update locations doc strings for consistency 2020-12-23 20:40:08 -08:00
JonnyWong16
41342b4f7b
Replace use of etag with class 2020-12-23 20:39:15 -08:00
JonnyWong16
cf56d9a13c
Update photo attributes 2020-12-23 16:16:22 -08:00
JonnyWong16
7f7d03236b
Fix docstrings 2020-11-22 19:06:30 -08:00
jjlawren
2f4a7506dc
Make Photo objects Playable (#592)
* Make Photo objects Playable

* Add more attributes
2020-11-01 15:02:23 -06:00
blacktwin
411018dd37 add iterParts() and download() methods to Photoalbum class 2020-10-10 15:00:19 -04:00
blacktwin
0e8b2e88db add download() method to Photo class 2020-10-10 14:55:49 -04:00
blacktwin
717b274d82 add iterParts() method to Photo class 2020-10-10 14:55:16 -04:00
blacktwin
615d702487 photo EOF flake fix 2020-06-06 14:14:38 -04:00
blacktwin
4644a33fb7 adding fields attribute to photo.Photo and photo.Photoalbum
docstring update
2020-06-05 15:41:49 -04:00
Hellowlol
940efc0013 first pass on compat. 2020-05-12 23:15:16 +02:00
blacktwin
6f37554e30 add tag attribute to photo object. 2019-11-11 09:33:56 -05:00
Andrey Yantsen
a0135f8190 fix flake 2018-09-14 23:26:14 +01:00
Andrey Yantsen
057967a8ae Library section id for all (#292)
* add librarySectionID for each item if MediaContainer had one

* fix getting section for photos which are not in album yet

* another approach
2018-09-14 20:27:24 +02:00
Andrey Yantsen
68fc970d7a Improvements in tests process (#297)
* 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
2018-09-14 20:03:23 +02:00
Andrey Yantsen
54b26fdc25 Sync support (#282)
* [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
2018-09-08 17:25:16 +02:00
Hellowlol
26bf4ca010 zomg... 2017-10-26 00:01:42 +02:00
Hellowlol
807b6ebc3c add more tests to inc cov. 2017-10-25 21:53:52 +02:00
Hellowlol
f8e594ff3f Add test for a album inside a album 👍 2017-10-25 20:58:20 +02:00
Hellowlol
7682a04c7b remove reload since it interited. 2017-10-25 18:39:32 +02:00
Michael Shepanski
d41bf0fb89 Add support to recursivly navigate photoalbums 2017-02-26 00:17:41 -05:00
Michael Shepanski
de69ace19f Go over documentation a bit more; This will never end. 2017-02-13 23:32:27 -05:00
Michael Shepanski
9b791b95e7 Add TAG constant to PlexObjects; Better method to save and build PLEXOBJECTS; All objects in media.py are now registered and can be looked up; Remove __len__ on Library class (it was causing URL to load twice). 2017-02-12 21:55:55 -05:00
Michael Shepanski
08e61960e7 Move common methods to PlexPartialObject; More documentation 2017-02-09 15:01:23 -05:00
Michael Shepanski
83a8c5733e Rename _root back to _server but keep it private 2017-02-08 23:13:54 -05:00
Michael Shepanski
76c0cb55a1 Rename variable to kwargs 2017-02-08 23:08:25 -05:00
Michael Shepanski
f676d4cbbf Most tests passing; Need to add better filters on fetchItems for watched / unwatched 2017-02-08 02:00:43 -05:00
Michael Shepanski
8212ca9c46 Much more stability from yesterday; Easier to use fetchItem funtions; Common __repr__ for all plexobjects; Fix all uses if listItems 2017-02-07 01:20:49 -05:00
Michael Shepanski
4624512356 A few more updates to get plexattrs.py fully running 2017-02-06 01:28:58 -05:00