Commit graph

142 commits

Author SHA1 Message Date
JonnyWong16
88dbee7508
Fix flake8 2021-02-14 22:41:17 -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
8478ae6e62
Add banner url to show tests 2021-02-14 19:03:19 -08:00
JonnyWong16
02c56841f0
Merge remote-tracking branch 'upstream/master' into feature/posters 2021-02-07 10:46:20 -08:00
JonnyWong16
a7e5763e78
Merge remote-tracking branch 'upstream/master' into feature/posters 2021-02-07 09:33:15 -08:00
JonnyWong16
76fa9a9bf6
Merge remote-tracking branch 'upstream/master' into mixin 2021-02-07 09:29:54 -08:00
JonnyWong16
21f29f4373
Rename mixins 2021-02-06 20:23:05 -08:00
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
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
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
JonnyWong16
ebdaedeba7
Fix getting season=0 or episode=0 2020-12-30 15:49:26 -08:00
JonnyWong16
2765bee2b3
Fix audio tracks key 2020-12-24 09:21:17 -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
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
50633d3601
Update audio attributes 2020-12-23 15:53:57 -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
jjlawren
eaff00d728
Fix Album iterator (#544) 2020-08-07 12:47:26 -05:00
blacktwin
03c2ece89d audio EOF flake fix 2020-06-06 14:14:03 -04:00
blacktwin
a12fd18e54 adding fields attribute to audio.Audio
docstring update
2020-06-05 15:42:22 -04:00
Hellowlol
940efc0013 first pass on compat. 2020-05-12 23:15:16 +02:00
Himbeer
4b5a3e266c
Fix documentation for the Track object 2019-10-30 18:38:38 +01:00
David Roizenman
3719d4b599 Fix spelling of "original" 2019-01-07 08:04:53 -05: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
Martin Patz
e0e7f80b07 added userRating property to Track 2018-03-21 17:26:53 +01:00
daeks
fa7b53cbe5 added labels support for audio album 2018-03-01 20:39:33 +01: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
Hellowlol
284a3b615a More hidden stuff.. 2017-10-14 00:29:52 +02:00
Hellowlol
367929a97e fix another bug that was hidden 2017-10-14 00:02:21 +02: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
5bfa96b49c Add missing labels and collections from the classes 2017-07-22 01:07:31 +02:00
Michael Shepanski
cd1a05d770 Make flake8 happy 2017-02-20 00:37:00 -05: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
c0958a0edc only auto-connect to clients is baseurl and token passed 2017-02-13 01:37:23 -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
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
e3abfeeb0f Audio tests passing 2017-02-08 00:36:22 -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
Michael Shepanski
6a35f50a43 CHECKPOINT: Lots going on; Added new base class PlexObject that everything inherits from, this ensures all constructors are similar; Lots of work on new tool plexattrs that parses a full Plex library to find differences in attributes plexapi implements and what the Plex XML API offers up; Tests will most definetly be broken at this point, but I wanted to save my work. 2017-02-05 23:52:10 -05:00
Michael Shepanski
fc28f7c1e6 Move Playable and PlexPartialObject to new plexapi.base module 2017-02-04 14:46:51 -05:00
Michael Shepanski
7c766337b6 Remove all references to NA 2017-02-04 12:43:50 -05:00
Michael Shepanski
cec0ab07e8 Cleanup formatting 2017-02-01 22:53:05 -05:00
Hellowlol
d19d602455 revert NA to _NA so its still compat with the tests.
- this allows for casting str and check for __NA__ in addition to is
instance.
- some indentation fixes
2017-02-01 22:32:00 +01:00
Hellowlol
7e9bd51d55 testing testing, 1, 2, 3. 2017-02-01 20:41:20 +01:00
Michael Shepanski
04251d3805 Finish documenting Photo; Monkey-patch sphinx to not auto-link to unknown types; Remove links to ElementTree (not our code) 2017-01-30 23:44:03 -05:00
Michael Shepanski
706b974b05 Finished updating socs for client, config, exceptions 2017-01-23 00:15:51 -05:00
Michael Shepanski
db18f2640f Remove watched filters for audio; It doesn't make sense 2017-01-22 01:39:47 -05:00
Michael Shepanski
5ba1c4df8e Finish updating audio.py for Sphinx docs 2017-01-22 01:37:39 -05:00
Hellowlol
3aa4208d8b fix rebase 2017-01-02 22:19:07 +01:00
Hellowlol
1075f65bb4 Moredocs (#84)
* Docs and speedups.
2017-01-02 22:06:40 +01:00
Michael Shepanski
748fc68406 Cleanup playlist support; Fix UUID on URLs; Better method to store listTypes; Cache section IDs in library 2016-04-11 22:43:21 -04:00
Michael Shepanski
3138ad1087 Added playlist support 2016-04-10 23:49:23 -04:00
Michael Shepanski
80529a21c7 Rename MyPlexUser to MyPlexAccount; Add support for real MyPlexUsers; Add api for history; New tests for sessions() and history() 2016-04-07 01:39:04 -04:00
Michael Shepanski
50ac2f55e5 Create Playable object to put function specific to media that is playable like getStreamURL etc.. 2016-04-03 23:55:29 -04:00
Michael Shepanski
e81f2506e9 Move _find function from PlexPartialObject to generic utility functions 2016-04-03 23:17:29 -04:00
Michael Shepanski
bcf01fdcdf Move getStreamURL to PlexPartialObject; Remove duplicated code; Add getStreamURL tests (doesnt actualy test the stream works tho) 2016-03-22 23:38:06 -04:00
Michael Shepanski
a0cfaafb68 Initial cleanup of playlist support; getStreamURL not working; Needs tests 2016-03-21 23:52:58 -04:00
Michael Shepanski
a999df8e94 Audio support complete; Added more audio tests; renamed is_watched to isWatched 2016-03-21 23:12:12 -04:00
Michael Shepanski
d4e8bdba70 Checkpoint: Adding Audio support; Cleanup attribute definitions to only include what the Plex objects actually include. 2016-03-21 00:26:02 -04:00
Michael Shepanski
2e2ea93982 Cleanup imports; force registration of audio/video libtypes 2016-03-17 01:14:31 -04:00
Michael Shepanski
276ba26b77 Create registry of library items we may see in xml; Cleanup how we handle build_item and list_items 2016-03-17 00:51:20 -04:00
Michael Shepanski
4399bc6190 Minor cleanup after merging pull request 2016-03-14 22:20:02 -04:00
Håvard Gulldahl
b51d7548b5 Read .parentTitle element for class Track 2016-01-31 02:04:51 +01:00
Håvard Gulldahl
382a4f45aa Add year attribute to albums 2016-01-30 00:02:00 +01:00
Håvard Gulldahl
ec8c20d0fa We need this fix to make sure .reload() doesn't pull the wrong objects from the server 2016-01-29 22:51:01 +01:00
Håvard Gulldahl
e437e857cd add titleSort for Artist 2016-01-28 13:08:57 +01:00
Håvard Gulldahl
36b7252742 Get metadata like .media and .genres 2016-01-26 19:10:35 +01:00
Håvard Gulldahl
23874f4555 Don't bother with extra metadata just yet 2016-01-19 14:28:35 +01:00
Håvard Gulldahl
3ca226e897 Fix build_item() to deal with audio 2016-01-19 11:56:46 +01:00
Håvard Gulldahl
0b9509da27 Fix url endpoint of .getSTreamUrl() 2016-01-19 11:56:34 +01:00
Håvard Gulldahl
1c1592ec29 Add proper metadata for Audio, Artist and Track 2016-01-19 11:56:16 +01:00
Håvard Gulldahl
bbc6a036fb A naive copy of video.py, adding Album, Artist and Track classes 2016-01-19 10:31:45 +01:00