Commit graph

245 commits

Author SHA1 Message Date
JonnyWong16
dfc5aa1eef
Fix server hub searches (#643)
* Add hub search media tag objects

* Fix server search

* Fix hub media tag thumb

* Update server search test with tags
2021-01-24 15:48:38 -05:00
blacktwin
4f0910ab79
Update to MediaPartStream and inheriting classes (#590)
* 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>
2021-01-24 15:21:56 -05:00
JonnyWong16
13325a50ba
Remove poster and art methods from collections and playlists
* Methods are already defined in PlexPartialObject
2021-01-24 11:12:02 -08:00
JonnyWong16
bc153b8896
Update poster and art doc strings 2021-01-24 11:10:11 -08:00
JonnyWong16
48c41a1c68
Separate Poster and Art objects 2021-01-24 11:09:42 -08:00
blacktwin
ddbd07e571
Merge branch 'master' into reviews_extras 2021-01-18 15:53:40 -05:00
JonnyWong16
59e79242a7
Replace devices in SystemDevice repr 2021-01-02 18:04:46 -08:00
JonnyWong16
f8c325ce2f
Add server dashboard bandwidth and resources 2021-01-02 16:44:02 -08:00
JonnyWong16
949d37bc2f
Update listAttrs doc string 2020-12-23 22:29:26 -08:00
Steffen Fredriksen
dcd2663645
Merge pull request #616 from JonnyWong16/bugfix/collection_children
Fix collection children
2020-12-14 00:45:30 +01:00
JonnyWong16
edd5b514ed
Rename _isChildOf method 2020-12-13 12:41:53 -08:00
JonnyWong16
6cb2168ef0
Update PlexObject doc string 2020-12-13 12:41:43 -08:00
JonnyWong16
0d6c43558a
Add method to keep track of the parent PlexObject 2020-12-13 12:41:43 -08:00
JonnyWong16
aa9b530b2e
Fix doc building with DeprecationWarning 2020-12-13 12:36:43 -08:00
JonnyWong16
2cf0d7edab
Fix rare case where details_key is None 2020-12-06 19:04:18 -08:00
JonnyWong16
b451b22bb8
Fix doc building 2020-11-23 12:20:56 -08:00
Steffen Fredriksen
b623b43a58
Merge pull request #606 from JonnyWong16/bugfix/full_object
Fix Collections stuck as partial object after reloading
2020-11-23 07:47:10 +01: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
9fb3eaf41c
Add thumbBlurHash and artBlurHash attributes with includeFields 2020-11-21 20:02:31 -08:00
JonnyWong16
178217a981
Improve docstring for reload 2020-11-21 19:52:33 -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
a12f8b09e5
Ensure sorted parameters in details key 2020-11-21 13:20:53 -08:00
JonnyWong16
d59d199ee7
Always build default details key 2020-11-21 12:08:27 -08:00
JonnyWong16
b60e541b00
Fix Collections stuck as partial object after reloading 2020-11-20 20:54:43 -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
jjlawren
83947b0e29
Don't overwrite existing attributes with an empty list (#594)
* Don't overwrite existing attributes with an empty list

* Also check for empty lists in __eq__
2020-10-31 00:13:19 -05:00
blacktwin
1f683c514b
Merge branch 'master' into reviews_extras 2020-10-07 11:18:28 -04:00
jjlawren
fb82bc402b
Playqueue improvements (#563)
* 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
2020-09-11 16:23:27 -05:00
blacktwin
451b689c0d create MediaContainer class in base.py 2020-07-15 16:09:05 -04:00
blacktwin
1d8d76ef56
Merge branch 'master' into intro_marker 2020-05-27 21:48:41 -04:00
blacktwin
5e3dff4e32 update analyze docstring to include new intro video marker 2020-05-24 22:55:52 -04:00
Hellowlol
940efc0013 first pass on compat. 2020-05-12 23:15:16 +02:00
Steffen Fredriksen
226737807e
Merge pull request #472 from pkkid/matching_fix
matching_fix
2020-05-10 14:30:59 +02:00
blacktwin
430113d2b9 add key to initpath 2020-05-03 21:42:08 -04:00
blacktwin
2af1452fed if agent is the only keyword then only add language and agent to params
fix for #140
2020-05-02 00:01:34 -04:00
blacktwin
608433bce2 making sure ?manual=1 is included in key 2020-05-01 22:53:28 -04:00
blacktwin
95e52b5cad error catch for zero results when using fixMatch(auto=True) 2020-05-01 22:51:28 -04:00
Hellowlol
c466b096ef Allow int to pass aswell
Supports int, strings, list off ids.¨
This bugs like this happens when your watcking tv at the same time ¯\_(ツ)_/¯
2020-05-02 00:41:56 +03:00
Hellowlol
201466a52f Allow failure 2020-05-02 00:32:46 +03:00
Hellowlol
6a3e7a0273 fix bug 2020-05-02 00:22:11 +03:00
Hellowlol
e3dc61d399 add merge method 2020-05-02 00:02:45 +03:00
blacktwin
25ae83c7bd add agent to fixMatch docstring 2020-04-29 21:10:48 -04:00
blacktwin
911fb7e680 add agent keyword to fixMatch method
allows for auto matching with a different agent than library set agent
2020-04-29 21:10:28 -04:00
blacktwin
517c9fb670 change if statement to caught any not None keywords
allowing for `title="",year=""` to work correctly
2020-04-29 21:09:16 -04:00
Hellowlol
5a2f14e645 Update based on comments. 2020-04-27 19:22:10 +03:00
Steffen Fredriksen
6eea7cce0f
Allow pagination (#464)
Allow pagination on fetchItems
2020-04-26 21:18:52 +02:00
Jason Lawrence
a1332434f1 Fix docstrings for tests, remove unused param 2020-04-15 22:49:18 -05:00
blacktwin
319fe52d0a
Merge branch 'master' into poster_change 2020-04-12 23:04:19 -04:00
blacktwin
2235cafaf1
Merge branch 'master' into poster_change 2020-04-12 22:45:31 -04:00
blacktwin
bef40a74f5
Merge branch 'master' into unmatch_match 2020-04-12 22:37:50 -04:00
jjlawren
e9ecb595a6
Raise exception when empty key passed to fetchItem* (#432) 2020-04-11 08:30:05 -05:00
blacktwin
cd934c06f9 docstring minor update 2020-03-18 09:43:49 -04:00
blacktwin
91a08c63c4 add arts methods to base.PlexPartialObject 2020-03-18 09:42:56 -04:00
blacktwin
0b4b9c452e update setPoster method in base, library.Collection, playlist
use media.Poster select method instead
2020-03-18 09:26:09 -04:00
blacktwin
623c304fda setPoster docstring 2020-03-18 00:55:17 -04:00
blacktwin
28d8b862ab detailed example for using matches method
thanks @jonnywong16
2020-03-17 14:06:05 -04:00
blacktwin
e44513c44d update matches method to operate more closely to webui
thanks @jonnywong16
2020-03-17 14:05:29 -04:00
blacktwin
b54f61d1cf only allow sections available agents to be used. 2020-03-16 14:05:45 -04:00
blacktwin
30974f807b fixMatch docstring update 2020-03-14 23:39:19 -04:00
blacktwin
07cf7d16e4 fixMatch rework not so not-y 2020-03-14 23:39:04 -04:00
blacktwin
86c722f8bd docstring updates 2020-03-14 23:37:51 -04:00
blacktwin
dc5d147315 update fixMatch to allow for auto fixmatch
auto will select the first searchResult from matches
2020-03-14 23:06:32 -04:00
blacktwin
38b0fee6c9 adding unmatch/match methods from video:Movie and video:Show classes to base:PlexPartialObject
minor improvements to matches method thanks to @JonnyWong16
matching can be done for artists, albums, shows, movies
all other media types safely return an empty list []
2020-03-13 22:22:30 -04:00
blacktwin
47950201b0 moved poster related methods to base PlexPartialObject class 2020-03-13 16:43:06 -04:00
Andreas Maier
c132a6dcb8 Fixed flake8 errors in alert.py and base.py
Signed-off-by: Andreas Maier <andreas.r.maier@gmx.de>
2019-12-31 14:06:56 +01:00
zSeriesGuy
59ce923559 Add maxResults and mindate to all history methods 2019-11-20 06:50:25 -05:00
zSeriesGuy
43a60f00f1 Support history for specific ratingKeys
Add history method to PlexPartialObject
Add ratingKey to server history method.
Add tests for movie, show, season, episode, artist, album, and track history.
2019-11-14 12:21:49 -05:00
Jason Lawrence
f83bfd6cc2 Skip attr reload for 'session' 2019-11-09 21:35:33 -06:00
Michael Shepanski
a13d17c838 track accountID in Playable 2019-06-03 00:50:02 -04: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
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
b18e186006 fix flake8 warnings on travis (#283) 2018-09-08 17:26:59 +02:00
tijder
8d4e062a0a
Add own duration when not given as parameter 2018-05-18 10:58:06 +02:00
tijder
16ed7451c9
Comment parameters 2018-05-13 11:40:15 +02:00
tijder
ace43732a4
updateTimeline with option duration
Without the option duration the video progres will not be updated.
2018-05-13 10:50:19 +02:00
tijder
00c21c6325
Function update timeline for base.py
Function to update the timeline for a payable item. With this the item will be showed in the now playing screen.
2018-05-12 21:29:17 +02:00
Hellowlol
4e404cb502 hopefully fix reload issue.
i really need to get add creds so i can test this locally.
2018-03-02 19:28:23 +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
807d833ceb move update progress so we can use it on music. 2018-02-22 12:29:39 +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
ceb3f03445 oops. 2017-11-01 23:36:03 +01:00
Hellowlol
0e2c7fb7e6 fixup
move delete to partial as not everything is deletable
fix library genre test
fix delete media.
2017-11-01 23:18:18 +01:00
Michael Shepanski
d4763dcda9 Merge pull request #216 from pkkid/add_ne
add ne and ne test.
2017-10-13 21:09:10 -04:00
Hellowlol
b5a3018c6b add ne and ne test. 2017-10-14 01:46:09 +02: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
1fb4fcbed4 fix e303 2017-10-13 23:47:00 +02:00
Hellowlol
90217b060f missing attrs should raise attribute errors. 2017-10-13 23:47:00 +02:00
Michael Shepanski
bdee9ad1f1 Merge pull request #199 from pkkid/split
add opt out and split mediaitem.
2017-10-11 23:31:29 -04:00
Hellowlol
577c68ac7d add unmatch 2017-10-12 00:01:33 +02:00
Hellowlol
d7856e52ee fix split media item. add missing method put 2017-10-11 23:40:22 +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
ef0556f952 Add __hash__ so we can use sets to remove dupes etc. 2017-10-05 23:21:14 +02:00
Hellowlol
a4443db64f add opt out. untested so dont merge. 2017-10-03 21:23:47 +02:00
Hellowlol
25fb8478fb Try to fix some errors. 2017-08-18 21:21:59 +02:00
Michael Shepanski
d7276e2e82 Add tqdm requirement; Display download status in plex-download 2017-08-14 23:40:28 -04:00
Michael Shepanski
63dc1507d2 Add plex-download.py tool; Added new utility to request user/pass from user, config, or env for use when creating cmd line tools 2017-08-13 01:50:40 -04:00
Michael Shepanski
7abd569bd7 Merge pull request #154 from pkkid/server_checks
add check_for_update, isLatest
2017-07-30 00:40:59 -04:00
Michael Shepanski
bc76208666 Merge pull request #152 from pkkid/shared_server
Shared server
2017-07-30 00:34:16 -04:00
Michael Shepanski
8bd880c2a0 Cleanup doc strings 2017-07-30 00:31:45 -04:00
Hellowlol
a0f030e353 Add a test for share playlist. 2017-07-28 22:29:14 +02:00
Hellowlol
73c10abcce fix bug, add test add todo for images from meta data. 2017-07-27 00:55:31 +02:00
Hellowlol
5bfa96b49c Add missing labels and collections from the classes 2017-07-22 01:07:31 +02:00
Hellowlol
145f49808b fix so we can remove by value
TODO make sure tests works
2017-07-18 23:55:11 +02:00
Hellowlol
43cb60d440 more update shit 2017-07-18 17:59:23 +02:00
Hellowlol
9c82a516b5 some flake. 2017-07-16 23:04:46 +02:00
Hellowlol
d2dac4b017 Init edit. 2017-07-16 22:46:03 +02:00
Hellowlol
db3b729360 one step closer with the test. 2017-02-27 23:16:02 +01:00
Michael Shepanski
5e2805d240 Update base.py 2017-02-26 21:11:41 -05:00
Michael Shepanski
ec4d0d591d Update base.py 2017-02-26 21:10:28 -05:00
Hellowlol
cbde4787cc Add stop playback. 2017-02-26 23:31:09 +01:00
Michael Shepanski
91a8ab4563 Checkpoint: Settings functionality works; Needs documentation 2017-02-23 01:33:30 -05:00
Michael Shepanski
cd1a05d770 Make flake8 happy 2017-02-20 00:37:00 -05:00
Michael Shepanski
a42bca2a6a Convert clean value to str 2017-02-15 00:43:48 -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
1815e67804 Remove unneeded util functions 2017-02-13 01:48:04 -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
44677e59a6 Merge dev 2017-02-12 22:38:56 -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
Hellowlol
54faa30d2d fix my fix of my bug... comment out server updatedat. 2017-02-11 11:09:35 +01:00
Hellowlol
ba9e7c6fe4 fix my bug. 2017-02-11 10:58:20 +01:00
Hellowlol
6be7fa8a29 Add delete
Supports media elements and librarys
2017-02-11 00:16:23 +01:00
Michael Shepanski
454a858b7d Remove dev logging 2017-02-09 16:45:15 -05:00
Michael Shepanski
ebf18ba020 Update fetchItem to search all subitems as well 2017-02-09 16:29:23 -05:00
Michael Shepanski
08e61960e7 Move common methods to PlexPartialObject; More documentation 2017-02-09 15:01:23 -05:00
Michael Shepanski
8304842daa Fix typos 2017-02-09 01:59:14 -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
bc421490db myplex tests passing 2017-02-07 01:58:29 -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