Commit graph

304 commits

Author SHA1 Message Date
JonnyWong16
9c1ac7981d
Rename mixins 2021-02-06 20:21:49 -08:00
JonnyWong16
68b77b67b8
Separate art and poster mixin 2021-02-06 20:19:11 -08:00
JonnyWong16
e7772c6f6f
Fix episode's parentKey and parentRatingKey when season's are hidden 2021-02-04 18:56:21 -08:00
blacktwin
63a1d10d11 remove hubs method from Video class 2021-01-25 14:28:47 -05:00
blacktwin
82e62644f5
Merge branch 'master' into reviews_extras 2021-01-25 10:07:08 -05:00
JonnyWong16
ee28bef80f
Add support for the new Plex Movie agent (#628)
* guids collection to movie and GuidTag PlexObject

* Fix flake8

* Clean up GuidTag and Guid

* Add Plex Movie agent to add library doc string

* Change test bootstrap server movie library to Plex Movie

* Update tests for Plex Movie agent

* Mix movie genre test

Co-authored-by: andyloree <andy@andyloree.com>
2021-01-24 21:03:58 -05:00
JonnyWong16
5a4d564fd3
Move poster and art to a mixin 2021-01-24 15:29:20 -08:00
JonnyWong16
25ab16502e
Move unmatch and match to mixins 2021-01-24 15:18:28 -08:00
JonnyWong16
3e1e2434a7
Clean up SplitMerge mixin 2021-01-24 15:13:22 -08:00
JonnyWong16
c23d9635f5
Rename to mixins 2021-01-24 15:03:23 -08:00
Hellowlol
f13d0bfe3b
Change class name of the mixin 2021-01-24 14:58:57 -08:00
JonnyWong16
7aaf56a62d
Move all tag editing to a mixin 2021-01-24 14:40:39 -08:00
jjlawren
db344e9e6b
Fix onDeck handling of TV Shows (#641)
* Fix onDeck handling of TV Shows

* Add onDeck for Season, update docstrings

* Clarify docstring wording
2021-01-24 15:49:32 -05:00
JonnyWong16
a9a44a6a41
Fix related hubs (#642)
* 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
2021-01-24 15:29:44 -05:00
blacktwin
0f0cd03f82
correction of import 2021-01-18 15:57:41 -05:00
blacktwin
ddbd07e571
Merge branch 'master' into reviews_extras 2021-01-18 15:53:40 -05:00
JonnyWong16
ebdaedeba7
Fix getting season=0 or episode=0 2020-12-30 15:49:26 -08:00
Hellowlol
3526b8cdeb Allow specials. 2020-12-31 00:35:57 +01:00
Hellowlol
f2e7e891cb Fix a test in navigation
keep compat for season(int)
2020-12-30 23:58:01 +01: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
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
1c5942986d
Update video attributes 2020-12-23 15:53:57 -08:00
JonnyWong16
b451b22bb8
Fix doc building 2020-11-23 12:20:56 -08:00
JonnyWong16
274b05e913
Fix raise exception docs 2020-11-22 20:43:59 -08:00
JonnyWong16
7f7d03236b
Fix docstrings 2020-11-22 19:06:30 -08:00
JonnyWong16
f3e9425a2c
Update docstring from artBlurHash and thumbBlurHash 2020-11-21 21:25:24 -08:00
JonnyWong16
9fb3eaf41c
Add thumbBlurHash and artBlurHash attributes with includeFields 2020-11-21 20:02:31 -08:00
JonnyWong16
a5690579d5
Refactor includes to PlexPartialObject
* Allows includes to be used by Audio, Video, Photoalbum, Photo, Collections, and Playlist
2020-11-21 19:52:01 -08:00
JonnyWong16
d59d199ee7
Always build default details key 2020-11-21 12:08:27 -08:00
JonnyWong16
0d27aa3f8e
Replace uses of details key in Show and Collection 2020-11-20 20:46:35 -08:00
JonnyWong16
c171aa2745
Allow customizing XML includes when reloading
pkkid/python-plexapi#603
2020-11-20 19:54:07 -08:00
blacktwin
1f683c514b
Merge branch 'master' into reviews_extras 2020-10-07 11:18:28 -04:00
blacktwin
56b6138ca7
Merge branch 'master' into show_advanced_setting 2020-09-28 08:12:39 -04:00
blacktwin
132e37995d
Merge branch 'master' into reviews_extras 2020-08-30 02:21:51 -04:00
blacktwin
34e1ea3444 master conflict resolution 2020-08-30 01:11:26 -04:00
jjlawren
5b7d48fc26
Improve clips handling (#541)
* Improve clips handling

* Remove year, add extraType

* Don't bother refreshing for missing attribute

* Update with attributes found in payload

* Update docstrings for clips
2020-08-20 10:08:47 -05:00
Steffen Fredriksen
07674a2c65
Merge pull request #512 from pkkid/optimize_update
Video optimize update
2020-08-02 16:11:05 +02:00
blacktwin
18973e2f2d update editAdvanced method to work with py2 drop 2020-07-28 11:16:31 -04:00
blacktwin
252d7e05a8 update video.Video.optimize method to use new library.LibrarySection._locations method 2020-07-24 14:11:01 -04:00
blacktwin
de58965a9d add check in augmentation method for Plex Pass or tidal opt-in
update docstring for method
2020-07-16 21:10:50 -04:00
blacktwin
c46aa3b5bb create augmentation method in video.Video 2020-07-16 05:29:52 -04:00
blacktwin
f36f549681 video.Video hubs method correction 2020-07-16 05:27:44 -04:00
blacktwin
c0454f6eb5 import MediaContainer from base 2020-07-15 16:15:35 -04:00
blacktwin
6f37a7b8c2 move hubs into video.Video 2020-07-15 16:07:02 -04:00
blacktwin
3fcfe23d23 add extras method to video.Movie class 2020-07-15 14:42:23 -04:00
blacktwin
7b364a5cb8 create Extra class in video 2020-07-15 14:41:52 -04:00
blacktwin
c7f8b86ec5 add reviews method to video.Movie class 2020-07-15 14:41:09 -04:00
blacktwin
6dc19386c2 adding art attribute to video.Video
addressing #511
2020-06-12 13:22:15 -04:00
blacktwin
ffe07ac1c6 video.optimize method docstring update. 2020-06-09 15:58:08 -04:00
blacktwin
43b1bfb64b update video.optimize method to use new Locations attributes 2020-06-09 15:57:47 -04:00
blacktwin
de47470a43 adding fields attribute to video.Video
docstring update
2020-06-05 15:42:03 -04:00
blacktwin
d0975a8a73 docstrings for new methods. 2020-06-05 14:20:39 -04:00
blacktwin
2c256f89c2 add _initpath to Preferences atrributes 2020-06-05 14:12:30 -04:00
blacktwin
afe25d19ac create defaultAdvanced method
allows for defaulting all advanced settings
2020-06-05 13:48:34 -04:00
blacktwin
0dbdff4b03 create editAdvanced method
allow for editing a show's advanced settings using kwargs
2020-06-05 13:41:48 -04:00
blacktwin
2d4a919a40 resolving conflict 2020-05-27 21:53:04 -04:00
blacktwin
558eafa44f no need for double bool 2020-05-27 12:26:54 -04:00
blacktwin
660a665366 only check for intro markers in case Plex decides to add different marker types in the future
thanks @jonnywong16
2020-05-27 12:15:56 -04:00
blacktwin
a2ef4a5564 create hasIntroMarker method to quickly identify if an episode has an intro marker 2020-05-24 22:57:02 -04:00
blacktwin
8a744f85f4 correcting onDeck docstring 2020-05-24 22:24:32 -04:00
blacktwin
1cfc9869d1 create ondeck method for shows 2020-05-23 23:30:44 -04:00
blacktwin
ce3fcc9b9d update hubs method 2020-05-23 23:30:21 -04:00
blacktwin
81339cc3dc import library and create hubs method 2020-05-23 23:20:22 -04:00
blacktwin
6a69fe4810 create preferences method 2020-05-23 23:07:44 -04:00
blacktwin
4db38e6832 add _include to show
add _details_key to show
2020-05-23 23:07:21 -04:00
blacktwin
a771feac35 import settings 2020-05-23 23:06:05 -04:00
blacktwin
65271c351d update episodes _include to include markers
add markers attrib to episode
2020-05-23 02:12:36 -04:00
blacktwin
3a95f55b7e
Merge pull request #410 from pkkid/new_hubs
new_hubs
2020-04-13 13:44:34 -04:00
blacktwin
2235cafaf1
Merge branch 'master' into poster_change 2020-04-12 22:45:31 -04:00
blacktwin
4cbccabee8
Merge branch 'master' into new_hubs 2020-04-12 22:40:15 -04:00
blacktwin
839a9da41d
Merge branch 'master' into conversion_actions 2020-04-07 09:21:32 -04:00
Hellowlol
18afdc2ec8 some linting 2020-03-14 15:52:54 +01:00
blacktwin
1abcff8eee remove poster related methods
to be moved to base to encompass all item types
2020-03-13 16:40:10 -04:00
blacktwin
6ce9917622 adding setPoster in Video class instead of or in combination to Poster class 2020-03-12 14:57:02 -04:00
blacktwin
06ae46959c create uploadPoster
allow for url or filepaths
once uploaded it is automatically selected
2020-03-12 10:26:55 -04:00
blacktwin
b7c9e31da2 minor docstring update 2020-03-12 10:25:56 -04:00
blacktwin
945f14fe3a is instead of == None
correction found in Flake test
2020-02-25 16:50:08 -05:00
blacktwin
ecefdbba6a remove unused import of quote
found in Flake test
2020-02-25 16:47:51 -05:00
Jason Lawrence
7fb01a567f Lookup episode/season show() with RatingKeys 2020-02-25 12:39:36 -06:00
blacktwin
d9e3b9fba5 dropping quote_via for backwards compatibility
seems unneeded now after testing
2020-02-17 21:50:00 -05:00
blacktwin
185319b73a find server's backgroundProcessing key 2020-02-17 17:17:36 -05:00
blacktwin
0854325324 optimize method rewrite
dict instead of string
big help from @JonnyWong16
2020-01-30 14:12:33 -05:00
blacktwin
d23c81c15c test header removal 2020-01-30 11:28:33 -05:00
blacktwin
7fbdd72e28 tagValues formating 2020-01-30 11:25:45 -05:00
blacktwin
8c2ea6f993 add optimize method 2020-01-30 10:55:29 -05:00
blacktwin
fc28d7210f Adding Clip class for news 2019-12-05 13:02:50 -05:00
blacktwin
b59aab15b2 remove reloads in new functions. 2019-11-20 11:40:49 -05:00
blacktwin
bd9e1db4dc
Merge branch 'master' into patch-8 2019-11-11 15:42:18 -05:00
blacktwin
be09f44ae3 Fix posters function based on PR comment 2019-11-06 09:28:56 -05:00
blacktwin
76f77a554e Comment corrections
remove attribute and rename function
2019-10-12 14:48:02 -04:00
blacktwin
4db275df0d
Corrections from comments
Moved all subtitle functions to parent Video class.
Add to removeSubtitles docstring how subtitle files are handled when removed.
2019-10-12 14:40:43 -04:00
blacktwin
c857feb52c add _posters function and poster attribute to video class
docstring updated
2019-10-09 10:45:48 -04:00
blacktwin
d23b9a0a80 adding uploadSubtitles and removeSubtitles functions 2019-10-04 22:32:56 -04:00
blacktwin
3f2d0766f8
docstring update
adding docstring descriptions for new functions
2019-09-25 09:02:59 -04:00
blacktwin
5365d7d7f8
upload, select, remove subtitles
Movies and Episodes can now have subtitle files uploaded, selected (for user?), and removed.
Episodes was missing subtitleStreams function.
2019-09-23 10:47:12 -04:00
Menushka Weeratunga
074a632304 Fix for episode not containing seasonNumber attribute 2019-09-01 23:35:05 -04:00
Ty Hahn
37727a69ed Add rate function to video 2019-08-07 05:45:21 +09:00
Peter Brink
4339626800 added collection to show object for tagging 2019-05-29 02:52:50 -04:00
gstacks13
77b1ee721d Get season from index instead of creating title 2019-02-21 11:56:51 -06:00
Michael Shepanski
e6ca501610
Merge pull request #339 from gstacks13/fix_show_season_0
Fix Show.season(0) not returning 'Specials'
2019-02-11 09:16:39 -05:00
gstacks13
433e4c402a Fix show.episode() not allowing season 0 2019-02-10 14:45:13 -06:00
gstacks13
58862b74ba Fix Show.season(0) not returning 'Specials' 2019-02-07 02:24:00 -06:00
David Roizenman
3719d4b599 Fix spelling of "original" 2019-01-07 08:04:53 -05:00
Andrey Yantsen
7a67417615 fix docs for Raises clauses 2018-10-03 11:09:43 +01: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
f6aa27eb83 ffs 2018-03-02 20:13:51 +01:00
Hellowlol
a322574dc6 WTF. why is a key in history None?? 2018-03-02 20:13:38 +01:00
Hellowlol
30ec806536 fix some docs. 2018-03-02 18:43:31 +01:00
Hellowlol
eb337ce585 Add support for similar for tvshows and movies. 2018-03-02 18:27:57 +01:00
Hellowlol
bb55a00f52 really need to sanity check on this one.. 2018-03-02 17:08:10 +01:00
Hellowlol
9d364e4860 init chapters. 2018-03-02 13:15:15 +01:00
Hellowlol
a51d0225d1 Remove style error enforced by travis. 2018-02-22 12:36:31 +01:00
Hellowlol
807d833ceb move update progress so we can use it on music. 2018-02-22 12:29:39 +01:00
David Van Loon
f5af5d0e10
Add updateProgress function to Video 2018-02-17 23:32:29 -06:00
Michael Shepanski
61ede66ad5 Dont include token in URLs unless show_secrets set in config; All functions that return a URL such as stream urls and thumbnails still include token 2018-01-04 21:44:35 -05:00
Hellowlol
d3e4c63dd4 add url method, artUrl
change reload waning to debug.
2017-11-08 22:01:53 +01:00
Michael Shepanski
973e5558ee Merge pull request #211 from pkkid/add_missing_label_tvshow
Add missing labels to cls show
2017-10-11 23:26:22 -04:00
Hellowlol
e402c3227b make media iterable.
they will yield the next lower level. so a show will iter a season a
season will yield a episode etc.
2017-10-09 16:07:09 +02:00
Hellowlol
ef7b631e82 Add missing labels to cls show 2017-10-09 15:40:46 +02:00
Michael Shepanski
8507c603b4 Update video.py 2017-09-29 12:11:14 -04:00
Michael Shepanski
67c859d584 Update video.py 2017-09-29 12:10:55 -04:00
tdorsey
e0a213c5e4 Fix TypeError when viewCount is not set
Fixes #190
2017-09-28 06:43:49 -04:00
Nitemare
acdff9baa6 Update video.py
Undoing my error, not sure if this is necessary
2017-09-16 00:05:28 -03:00
Nitemare
e648f0d40b Update video.py
Adding seasonEpisode method that is listed in the documentation, but not in actually implimented
2017-09-15 23:19:33 -03:00
Nitemare
133d2f42ce Update video.py
Adding title and parentTitle to Episode variables (Lines 475 & 476)
2017-09-15 23:06:00 -03:00
Hellowlol
5d60f69610 rating should be a float, this slipped thru the cracks. 2017-08-20 22:30:50 +02:00
Hellowlol
72094fce40 More tests fixes 2017-08-18 21:44:40 +02:00
Michael Shepanski
d7276e2e82 Add tqdm requirement; Display download status in plex-download 2017-08-14 23:40:28 -04:00
Hellowlol
5bfa96b49c Add missing labels and collections from the classes 2017-07-22 01:07:31 +02:00
Michael Shepanski
650a88d638 Started movinf client tests into Pytest framework 2017-05-12 23:25:57 -04:00
Michael Shepanski
43444459e3 Tighten up download code a bit; downloadLogs and DownloadDatabases were reversed (oops) 2017-02-26 23:59:46 -05:00
Michael Shepanski
cd1a05d770 Make flake8 happy 2017-02-20 00:37:00 -05:00
Hellowlol
c7c04d2a42 Add indexes. Closes https://github.com/pkkid/python-plexapi/issues/121 2017-02-18 01:51:06 +01:00
Michael Shepanski
12406082ec Choose Closest Thumbnail for Audio Tracks #102 2017-02-15 00:13:22 -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
fc1c10e554 Finish documenting video 2017-02-13 14:38:40 -05:00
Michael Shepanski
c0958a0edc only auto-connect to clients is baseurl and token passed 2017-02-13 01:37:23 -05:00
Michael Shepanski
9052cf7be2 Remove findLocations util function; All locations plural; Fix tests 2017-02-12 22:33:38 -05:00
Michael Shepanski
4b8f82291b Remove findLocations util function 2017-02-12 22:15:47 -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
6fa7c12c48 Implement fetchItem filters; All tests passing? 2017-02-09 01:54:38 -05:00
Michael Shepanski
5443711b90 Make _query and _url public methods since we use it as such 2017-02-08 23:29:17 -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