Commit graph

1338 commits

Author SHA1 Message Date
JonnyWong16
c1d294b39c
Remove old todo comment 2021-01-24 14:49:40 -08:00
JonnyWong16
1b378d3f1c
Add helper function to get the plural tag 2021-01-24 14:40:39 -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
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
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
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
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
jjlawren
4da40789ea
Reduce log level of MyPlex resource connection attempts (#647) 2021-01-20 13:07:03 -05:00
blacktwin
35fb440cc1 update REMOVEINVITE string (#584) 2021-01-19 12:35:35 -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
Steffen Fredriksen
ed0532c040
Merge pull request #535 from nwithan8/patch-2
Playlist creation - check items are included, raise exception
2021-01-11 23:13:18 +01:00
JonnyWong16
b7b32fb99d
Raise not found for missing bandwidth account/device 2021-01-03 10:50:07 -08:00
JonnyWong16
345d0b2743
Replace findItems with fetchItems 2021-01-03 10:41:38 -08:00
JonnyWong16
f0b680426f
Fix bandwidth doc string 2021-01-02 18:21:50 -08:00
JonnyWong16
5fa3e90e80
Fix flake8 2021-01-02 18:14:35 -08:00
JonnyWong16
8598236994
Add timestamp to statistic repr 2021-01-02 18:11:34 -08:00
JonnyWong16
97844688ab
Flip bandwidth timespan conditional 2021-01-02 18:08:43 -08:00
JonnyWong16
59e79242a7
Replace devices in SystemDevice repr 2021-01-02 18:04:46 -08:00
JonnyWong16
57fe3bd12f
Default bandwidth timespan to seconds 2021-01-02 18:02:29 -08:00
JonnyWong16
d5cf467592
Rename method to bandwidth and resources 2021-01-02 18:01:55 -08:00
JonnyWong16
3cae35a280
Return list of dashboard bandwidth and resources directly 2021-01-02 17:54:48 -08:00
JonnyWong16
9030759e99
Cache system accounts and system devices 2021-01-02 17:54:17 -08:00
JonnyWong16
ed90911781
Rename statistics account and device to system account and device 2021-01-02 17:25:39 -08:00
JonnyWong16
6b5b8c82a1
Update dashboard doc strings 2021-01-02 17:04:00 -08:00
JonnyWong16
eeda5dfd67
Fix exception doc strings 2021-01-02 16:44:18 -08:00
JonnyWong16
f8c325ce2f
Add server dashboard bandwidth and resources 2021-01-02 16:44:02 -08: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
5b78f6b482
Merge branch 'master' into feature/media_attributes 2020-12-30 12:53:17 -08:00
JonnyWong16
d5c29cc626
Override libtype for PhotoSection.all() 2020-12-26 20:53:55 -08:00
JonnyWong16
810c5566c3
Fix playlist tests 2020-12-24 09:21:29 -08:00
JonnyWong16
2765bee2b3
Fix audio tracks key 2020-12-24 09:21:17 -08:00
JonnyWong16
1ce97102cd
Fix typo in library totalSize doc string 2020-12-24 09:08:52 -08:00
JonnyWong16
5df75728b3
Fix flake8 2020-12-23 23:05:08 -08:00
JonnyWong16
c1a1d1616b
Add Playlist.item() method 2020-12-23 22:32:48 -08:00
JonnyWong16
949d37bc2f
Update listAttrs doc string 2020-12-23 22:29:26 -08:00
JonnyWong16
b7f813aacd
Add Playlist attributes doc string 2020-12-23 22:25:10 -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
7f1e2cafab
Update LibrarySection doc strings 2020-12-23 20:39:45 -08:00
JonnyWong16
41342b4f7b
Replace use of etag with class 2020-12-23 20:39:15 -08:00
JonnyWong16
00f80cb424
Check if LibrarySection.search() filter is an OPERATOR 2020-12-23 17:13:51 -08:00
JonnyWong16
473b7aae65
Pass remaining filtered kwargs to LibrarySection.search() 2020-12-23 17:00:14 -08:00
JonnyWong16
1d0527bd7e
Update LibrarySection.all() method
* Uses LibrarySection.search() for more filter/sorting options and faster paging of results
2020-12-23 17:00:14 -08:00
JonnyWong16
99c447525a
Update library.Collection attributes 2020-12-23 16:16:22 -08:00
JonnyWong16
cf56d9a13c
Update photo attributes 2020-12-23 16:16:22 -08:00
JonnyWong16
1c5942986d
Update video attributes 2020-12-23 15:53:57 -08:00
JonnyWong16
50633d3601
Update audio attributes 2020-12-23 15:53:57 -08:00
JonnyWong16
497ceaec9e
Add Style media tag 2020-12-23 15:53:57 -08:00
JonnyWong16
9d23ec072e
Fix race condition in create MyPlexDevice from #620 (#625)
* Make test Plex Pass entitlements a subset

* Fix create MyPlexDevice race condition

* Rename to clientId to be consistent

* Move link method to MyPlexAccount
2020-12-15 22:41:04 -06: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
110789dd0c
Add utils.deprecated decorator function 2020-12-13 12:08:38 -08:00
JonnyWong16
4a3d7db9fa
Restore deprecated Collection.children 2020-12-13 11:59:37 -08:00
JonnyWong16
8958aea67f
Change collection children to items 2020-12-13 11:33:27 -08:00
JonnyWong16
a341cdad5b
Fix collection children 2020-12-13 11:33:00 -08:00
JonnyWong16
2cf0d7edab
Fix rare case where details_key is None 2020-12-06 19:04:18 -08:00
JonnyWong16
d88d5f7290
No cover for createMyPlexDevice 2020-12-06 17:42:44 -08:00
JonnyWong16
f6d61857ad
Only show Deprecation warnings 2020-12-06 17:42:44 -08:00
JonnyWong16
f70058ad13
Add helper function to create a Plex device 2020-12-06 17:42:44 -08:00
JonnyWong16
121d54d86c
Retrieve device using clientIdentifier 2020-12-06 17:42:44 -08:00
JonnyWong16
966ac5515b
Allow custom headers for MyPlexPinLogin 2020-12-06 17:42:44 -08:00
JonnyWong16
9adf29f2c6
Update MyPlexPinLogin for Plex API v2
* Also adds method to link a device using the pin
2020-12-06 17:42:44 -08:00
Steffen Fredriksen
f22fa5694b
Merge pull request #597 from jjlawren/get_playqueue
Add method to retrieve a PlayQueue
2020-12-05 14:13:23 +01:00
Steffen Fredriksen
ad7709611e
Merge pull request #608 from JonnyWong16/bugfix/doc_build
Update building documentation using napoleon
2020-12-05 14:12:21 +01:00
JonnyWong16
422f82ead4
Test Collection delete by creating a new collection 2020-12-05 01:08:00 -08:00
JonnyWong16
9786546a05
Also log DeprecationWarning 2020-12-04 23:54:43 -08:00
JonnyWong16
d4c22617cb
Add LibrarySection playlists method 2020-12-04 12:28:11 -08:00
JonnyWong16
86d51bae6c
Change LibrarySection collections method to plural
* Add DeprecationWarning to old collection method
* Add NotImplementedError for PhotoSection.collections()
2020-12-04 12:27:45 -08:00
jjlawren
f4229050d4
Allow setting token env in tests (#610)
* Allow setting token env for test runs

* Use existing config option

* Use token in CI tests
2020-12-04 11:37:19 -06:00
JonnyWong16
b451b22bb8
Fix doc building 2020-11-23 12:20:56 -08:00
Steffen Fredriksen
ae59620e9a
Merge pull request #601 from JonnyWong16/server_browse
Add ability to browse and walk the Plex server system file directories
2020-11-23 07:48:53 +01: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
Steffen Fredriksen
35c5d0d532
Merge pull request #607 from JonnyWong16/feature/custom_includes
Add ability to customize XML includes when reloading object
2020-11-23 07:46:37 +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
33f7aa43a5
Fix docstring 2020-11-22 19:04:14 -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
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
fa4d8a45af
Collection mode default is -1 2020-11-21 17:35:33 -08:00
JonnyWong16
387ab17072
Settings __getattr__ needs to raise AttributeError 2020-11-21 14:49:21 -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
JonnyWong16
b9c3a93c67
Add path parameter to library update 2020-11-20 17:05:57 -08:00
JonnyWong16
0450cd10a4
Browse and walk docstring to specify full path 2020-11-20 17:00:45 -08:00
JonnyWong16
71904cca15
Clean Path and File docstring 2020-11-15 21:28:58 -08:00
JonnyWong16
4091a0b272
Make includeFiles optional in PlexServer.browse() 2020-11-15 21:21:08 -08:00
JonnyWong16
93280dd979
Allow PlexServer.browse() and .walk() using a Path object 2020-11-15 21:10:13 -08:00
JonnyWong16
7298b3c606
Add ability to browse and walk the Plex server system file directories 2020-11-15 17:54:48 -08:00
Jason Lawrence
e22bc81f35 Docstring flake adjustment 2020-11-02 19:24:25 -06:00
Jason Lawrence
b59dd3303f Add method to retrieve a PlayQueue 2020-11-02 17:18:46 -06:00
jjlawren
6430f06e6b
Bump to 4.2.0 release (#596) 2020-11-01 15:03:34 -06:00
jjlawren
2f4a7506dc
Make Photo objects Playable (#592)
* Make Photo objects Playable

* Add more attributes
2020-11-01 15:02:23 -06:00
Steffen Fredriksen
380fd784c4
Merge pull request #582 from pkkid/photo_download
Add download feature to Photo library
2020-11-01 13:06:41 +01:00
Steffen Fredriksen
da1181228a
Merge pull request #583 from pkkid/clean_optimize
Updating cleanBundles() and optimize() methods
2020-11-01 13:05:38 +01:00
Steffen Fredriksen
114d907443
Merge pull request #585 from jjlawren/gdm_scan_clients_with_all
Allow scanning for clients when using GDM.all()
2020-11-01 13:05:07 +01:00
Steffen Fredriksen
60d1fc6daa
Merge pull request #588 from pkkid/field_correction
Collection fields not pulling locked fields
2020-11-01 13:01:45 +01: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
3865ab9919 Merge remote-tracking branch 'remotes/origin/master' into reviews_extras 2020-10-23 15:54:25 -04:00
blacktwin
11dcf0b5f4 Merge remote-tracking branch 'remotes/origin/master' into photo_download 2020-10-23 15:50:20 -04:00
blacktwin
c6458a41a5 addressing #587 2020-10-21 08:58:56 -04:00
Jason Lawrence
40e295ddf9 Allow scanning for clients when using GDM.all() 2020-10-13 17:00:34 -05:00
blacktwin
b8fbe7235f updating cleanBundles() and optimize() methods 2020-10-10 15:09:22 -04: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
jjlawren
7dad2a8931
Add server handling of HTTP status code 204 (#580) 2020-10-08 12:51:19 -05:00
blacktwin
1f683c514b
Merge branch 'master' into reviews_extras 2020-10-07 11:18:28 -04:00
Ryan Meek
f9f3535751
Update timeline to return an active timeline object w/ attributes (#572)
* timeline() now returns ClientTimeline objects

* timeline() creates and returns ClientTimeline objects with associated attributes and caching
* Refactor isPlayingMedia to use the new attributes and fix it's default value

* Clarify docstrings

* Remove default param in timeline call & fix docstring typo

* return empty list if `timelines()` comes back empty

Web clients can occasionally return no timelines if no media has been played on them or if nothing has played for a while, this prevents errors in those cases.

* typo

* Workaround for unresponsive clients

* Use sendCommand rather than timelines() for PTP workaround

* Remove workaround, set timeline's wait default to 1

* set timelines() wait default to 0, document buggy behavior

* Use ClientTimeline.key for consistency

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* cast playQueue's IDs as int

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Add audio attribs & make casts bool from int where it makes sense.

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2020-10-02 11:33:53 -05:00
Steffen Fredriksen
163d94d249
Merge pull request #507 from pkkid/show_advanced_setting
Edit Library and Show's Advanced Settings
2020-10-02 12:24:08 +02:00
Steffen Fredriksen
6a5981c888
Merge pull request #518 from pkkid/library_hubs
Library Hubs and Music Stations
2020-10-01 15:47:59 +02:00
jjlawren
eef7b3f843
Bump to 4.1.2 release (#578)
Compatibility fixes for Python 3.5
2020-09-28 13:23:46 -05:00
blacktwin
4f96838b3d update sort field in library.ShowSection.recentlyAdded method 2020-09-28 13:51:53 -04:00
Andrew Gaffney
14b8d0e8c8
Replace format strings with explicit call to format() for backward compatibility (fixes #576) (#577) 2020-09-28 08:41:18 -05:00
blacktwin
d5f9004e7b
Merge branch 'master' into library_hubs 2020-09-28 08:13:59 -04:00
blacktwin
56b6138ca7
Merge branch 'master' into show_advanced_setting 2020-09-28 08:12:39 -04:00
jjlawren
737401be0e
Bump to 4.1.1 release (#574) 2020-09-21 16:17:47 -05:00
jjlawren
860ad7bc3e
Add Library timeline support (#573)
* Add Library timeline support

* Retry intentional failure with different canary test

* Temporarily disable activities tests

* Set tests for normal runs

* Add tests to validate library timeline attributes
2020-09-21 16:06:14 -05:00
jjlawren
8410d81520
Add 'activities' endpoint support (#569)
* Add /activities endpoint support

* Fix typos, return a list instead of iterator

* Canary test to validate CI behavior

* Increase timer of canary test to ensure proper run

* Move test to front of run, provide auth and anon versions

* Fix typo
2020-09-16 18:16:01 -05: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
58a432f176 flake fix 2020-09-09 15:25:38 -04:00
blacktwin
c6f60d231c flake fix 2020-09-09 15:25:07 -04:00
Kyle Zimmerman
ad8fd58c66
Add optional continuous arg to PlayQueue.create() (#561) 2020-09-05 23:33:32 -05:00
blacktwin
bb9a1b2573 flake fix 2020-08-31 21:12:36 -04:00
blacktwin
132e37995d
Merge branch 'master' into reviews_extras 2020-08-30 02:21:51 -04:00
blacktwin
de83d245c8 add updateOptOut method for MyAccount.AccountOptOut class 2020-08-30 02:02:07 -04:00
blacktwin
1316d4ae43 spacing 2020-08-30 01:18:26 -04:00
blacktwin
34e1ea3444 master conflict resolution 2020-08-30 01:11:26 -04:00
jjlawren
f0afbc6922
Bump to 4.1.0 release (#556)
Change log: https://github.com/pkkid/python-plexapi/compare/4.0.0...79e99af
2020-08-20 11:01:53 -05: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
jjlawren
fe27d7644f
Add iterator for Playlist objects (#549) 2020-08-11 12:11:53 -05:00
Steffen Fredriksen
d73cec3b7d
Fix some flake issues (#540) 2020-08-07 15:34:57 -05:00
jjlawren
dbc5adc744
Fix datetime import error in utils.py (#545) 2020-08-07 15:31:54 -05:00
jjlawren
eaff00d728
Fix Album iterator (#544) 2020-08-07 12:47:26 -05:00
blacktwin
7d97834b03
Merge branch 'master' into library_hubs 2020-08-02 23:44:11 -04:00
Steffen Fredriksen
07674a2c65
Merge pull request #512 from pkkid/optimize_update
Video optimize update
2020-08-02 16:11:05 +02:00
Steffen Fredriksen
5299282599
Merge pull request #509 from pkkid/adding_fields
Add fields to most objects
2020-08-02 16:09:33 +02:00
blacktwin
614108fb63 create allSubfolders method for library.Folder class 2020-07-30 10:33:58 -04:00
blacktwin
18973e2f2d update editAdvanced method to work with py2 drop 2020-07-28 11:16:31 -04:00
blacktwin
5045ddc04b removed deprecated _str function as py2 support has been dropped
update _str references to use builin str instead
update settings.Preferences class for py2 drop
2020-07-28 11:15:29 -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
3c0fa04a12 create _locations method in library.LibrarySection to return the librar.Location objects 2020-07-24 14:09:58 -04:00
blacktwin
142448b4c8 return library.LibrarySection.locations to previous listAttrs that returns a str 2020-07-24 14:09:13 -04:00
Steffen Fredriksen
6573b8b562
Merge pull request #531 from tdorsey/patch-2
chore(utils): fix typo
2020-07-24 12:01:35 +02:00
Nate Harris
f5647e52c2
Playlist creation - check items are included, raise exception 2020-07-23 19:31:27 -04:00
tdorsey
7c346f9917
chore(utils): fix typo 2020-07-18 08:45:41 -04:00
blacktwin
998ed04a6c update docstrings for AccountSettings and AccountOptOut 2020-07-16 21:21:26 -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
b917a33131 create settings method and myplex.AccountSettings class 2020-07-16 21:05:35 -04:00
blacktwin
120dbc5f1c create AccountOptOut class 2020-07-16 21:01:49 -04:00
blacktwin
50515730b0 create onlineMediaSources method
pulls in opt in/out status of Online Media Sources
2020-07-16 21:00:45 -04:00
blacktwin
fd89bacba2 add SETTINGS endpoint for user settings 2020-07-16 20:59:27 -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
451b689c0d create MediaContainer class in base.py 2020-07-15 16:09:05 -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
4b908a8f2d create media.Review class 2020-07-15 14:37:46 -04:00
blacktwin
83c4e64ed6 add library.Collection._preferences() method 2020-07-02 14:40:28 -04:00
blacktwin
2112f778db create library.folders method 2020-07-02 01:33:36 -04:00
blacktwin
a5b5438122 create library.Folder class 2020-07-02 01:33:18 -04:00
blacktwin
f079f7d061 library.FirstCharacter docstring 2020-07-02 00:43:21 -04:00
blacktwin
5c3695d223 library.FieldType docstring 2020-07-02 00:42:51 -04:00
blacktwin
6cad8c1eb0 library.Operator docstring 2020-07-02 00:42:28 -04:00
blacktwin
8aa492f195 library.FilterField docstring 2020-07-02 00:40:51 -04:00
blacktwin
bf5d8b8ba3 library.Sort docstring 2020-07-02 00:40:12 -04:00
blacktwin
1e58e9c5fd library.Field class rename to FilterField
update library.LibrarySection.filterFields() usage
2020-07-02 00:39:34 -04:00
blacktwin
8eadcb28aa library.LibrarySection.filterFields() docstring 2020-07-02 00:37:50 -04:00
blacktwin
257b7ae61e library.LibrarySection._sorts() docstring 2020-07-02 00:36:46 -04:00
blacktwin
23e641eaa3 change if to check both conditions at the same time.
thanks @hellowlol
2020-07-01 22:28:25 -04:00
blacktwin
ea6538f596 removal of all ALLOWED_FILTERS, ALLOWED_SORT, BOOLEAN_FILTERS instances and docstring references. 2020-06-30 09:39:16 -04:00
blacktwin
14c122c87b update library.LibrarySection._cleanSearchSort method to pull sort keys from LibrarySection._sorts() instead of using hardcoded ALLOWED_SORT. 2020-06-30 09:33:53 -04:00
blacktwin
a665d6f3ee update library.LibrarySection._cleanSearchFilter method to pull categories from LibrarySection.filterFields() instead of using hardcoded ALLOWED_FILTERS or BOOLEAN_FILTERS. 2020-06-30 09:32:58 -04:00
blacktwin
9ec2399b21 add filterFields method to library.LibrarySection 2020-06-30 09:24:12 -04:00
blacktwin
9936ee553d create Field, Operator, and FieldType classes 2020-06-30 09:23:18 -04:00
blacktwin
d0943a369e add firstCharacterKey attribute to library.Sort class 2020-06-30 09:21:44 -04:00
blacktwin
4a49ca97b0 add _sorts method 2020-06-30 09:19:53 -04:00
blacktwin
e5d79c7518 add Sort class 2020-06-30 09:06:26 -04:00
blacktwin
c1cef679cc add firstCharacter method to library.LibrarySection 2020-06-30 09:00:50 -04:00
blacktwin
847d21f79d add FirstCharacter class 2020-06-30 08:59:30 -04:00
Jason Lawrence
4c8fef144e Fix ElementTree warnings 2020-06-29 17:31:05 -05:00
blacktwin
3746b4ecb5 removal of registerPlexObject as the only usage calls this class directly. 2020-06-29 13:39:48 -04:00
blacktwin
6829bb2759 add _filter method to library.LibrarySection
referencing #209
2020-06-22 15:44:48 -04:00
blacktwin
ea88be39a0 add Filter class to library
referencing #209
2020-06-22 15:44:46 -04:00
blacktwin
c988f393a7 library.Station docstring update. 2020-06-22 15:27:45 -04:00
blacktwin
ee9cb7dc85 add hubs method to library.LibrarySection 2020-06-22 15:04:33 -04:00
blacktwin
bd536db7ac add stations method to library.MusicSection 2020-06-22 15:03:28 -04:00
blacktwin
c665546185 create library.Station class for stations found in music libraries 2020-06-22 15:02:48 -04:00
blacktwin
38b863b8da correction for library.librarySection.defaultAdvanced method 2020-06-18 10:03:47 -04:00
Hellowlol
d7c215b119 Small change to the repr and add test. 2020-06-14 20:21:46 +02:00
blacktwin
881a4fc659 use utils.millisecondToHuman for media.Marker.__repr__ 2020-06-13 22:12:35 -04:00
blacktwin
3852ed52a7 create millisecondToHuman method in utils 2020-06-13 22:12:01 -04:00
blacktwin
faeee7d667 import timedelta to utils 2020-06-13 22:11:39 -04:00
blacktwin
9685b57ad2 importing base.PlexPartialObject and applying it to library.Collections
this will allow collections to use the base.PlexPartialObject.edit method
2020-06-12 14:14:09 -04:00
blacktwin
6dc19386c2 adding art attribute to video.Video
addressing #511
2020-06-12 13:22:15 -04:00
blacktwin
81dcd58618 add art attrib to library.Collection
addressing #511
2020-06-12 13:22:13 -04:00
blacktwin
59fcdb4080 add defaultAdvanced method to library.LibrarySection 2020-06-09 23:32:22 -04:00
blacktwin
7474e7d28e add editAdvanced method to library.LibrarySection
addressing #450
2020-06-09 23:25:23 -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
ad55514be9 update library.LibrarySection locations attribute to use new Location class. 2020-06-09 15:56:59 -04:00
blacktwin
506a791260 create library.Location class 2020-06-09 15:56:21 -04:00
blacktwin
70dd6704be library EOF flake fix 2020-06-06 14:15:23 -04:00
blacktwin
615d702487 photo EOF flake fix 2020-06-06 14:14:38 -04:00
blacktwin
03c2ece89d audio EOF flake fix 2020-06-06 14:14:03 -04:00
blacktwin
78656ab2a4 update to library.Collection docstring 2020-06-06 14:01:16 -04:00
blacktwin
33955472c7 adding additional attributes to library.Collection class
thanks @jonnyWong16
2020-06-06 14:00:44 -04:00
blacktwin
db2a210f37 adding fields attribute to library.Collections
reordered attributes
docstring update
2020-06-05 15:43:05 -04:00
blacktwin
a12fd18e54 adding fields attribute to audio.Audio
docstring update
2020-06-05 15:42:22 -04:00
blacktwin
de47470a43 adding fields attribute to video.Video
docstring update
2020-06-05 15:42:03 -04:00
blacktwin
4644a33fb7 adding fields attribute to photo.Photo and photo.Photoalbum
docstring update
2020-06-05 15:41:49 -04:00
blacktwin
d0975a8a73 docstrings for new methods. 2020-06-05 14:20:39 -04:00
blacktwin
0974b1e2b1 _default docstring 2020-06-05 14:18:35 -04:00
blacktwin
0b31454c0f add _default method to Preferences class 2020-06-05 14:12:59 -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
1f396ca95a
remove field attribute
Addressing #504 

remove field attribute as it is no longer available.
adding `__repr__` to Marker class resulting in `<Marker:intro:139770:230481>`
2020-06-04 23:21:03 -04:00
Hellowlol
f2f6d8b9e7 forgot to bump 2020-06-02 21:12:57 +02:00
Steffen Fredriksen
b98d2e91e0
Merge pull request #498 from pkkid/intro_marker
intro_marker
2020-06-02 20:59:41 +02:00
Steffen Fredriksen
785a2f064b
Merge pull request #489 from jjlawren/timeline_do_not_subscribe
Remove 'timeline/subscribe' calls
2020-06-02 20:59:20 +02:00
blacktwin
1d8d76ef56
Merge branch 'master' into intro_marker 2020-05-27 21:48:41 -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
jjlawren
4a24d50036
Reduce timeout to expire Sonos resource cache (#500) 2020-05-27 09:36:55 -05:00
jjlawren
4193012bc2
Improve Sonos ID lookup (#496) 2020-05-26 15:09:39 -05: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
5e3dff4e32 update analyze docstring to include new intro video marker 2020-05-24 22:55:52 -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
f6fcf95272 create Preferences class 2020-05-23 23:04:55 -04:00
blacktwin
65271c351d update episodes _include to include markers
add markers attrib to episode
2020-05-23 02:12:36 -04:00
blacktwin
61c0669905 create Marker class 2020-05-23 02:09:22 -04:00
Jason Lawrence
735e26f257 Sonos lookup fixes and tests 2020-05-15 08:45:46 -05:00
Jason Lawrence
275f4ba921 Revert change to default timeline argument 2020-05-13 16:36:30 -05:00
Hellowlol
a0c5eec9ee Delete compat.py
not needed for as py2 support is dropped.
2020-05-13 23:19:51 +03:00
Hellowlol
cf75bb9d14 add some f401 stop flake from failing 2020-05-12 23:32:58 +02:00
Hellowlol
940efc0013 first pass on compat. 2020-05-12 23:15:16 +02:00
Jason Lawrence
5fe5109806 Remove 'timeline/subscribe' calls 2020-05-12 13:48:47 -05:00
Hellowlol
a5ee061e7d bump 2020-05-12 00:57:57 +02:00
Hellowlol
f6e311f056 2nd attempt to fix title bug 2020-05-11 23:12:15 +02:00
Hellowlol
42c83aa084 Fix for library title search when special chars is used
fix flaky test.
2020-05-11 15:14:38 +02:00
Hellowlol
2df2a05f67 Update sonos.py 2020-05-11 14:54:12 +02:00
Jason Lawrence
fd0803686e Bump to 3.5.0 2020-05-10 21:27:04 -05:00
Steffen Fredriksen
6daaa85f18
Merge pull request #471 from jjlawren/sonos_controls
Allow control of Sonos speakers using Plex API
2020-05-10 14:31: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
Jason Lawrence
03c8946cbd Doc fix, black reformat 2020-05-02 00:12:28 -05: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
Steffen Fredriksen
7905ff0e58
Merge pull request #468 from pkkid/less_deps
reduce deps
2020-05-02 01:44:28 +03:00
Hellowlol
8ac2edb3f6 reduce deps 2020-05-02 01:29:26 +03:00
Steffen Fredriksen
337cb29956
Merge pull request #474 from pkkid/add_docs
Update toc.rst
2020-05-02 01:27:11 +03:00
Hellowlol
280c768547 Update gdm.py 2020-05-02 01:18:15 +03:00
Hellowlol
d9442f3e2b Update gdm.py 2020-05-02 01:02:48 +03:00
Hellowlol
187550e26b fix docstrings. 2020-05-02 00:57:49 +03: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
Steffen Fredriksen
437eea8dfc
Merge pull request #466 from pkkid/batchsearch
Make it easier to set a container size using search
2020-05-01 21:08:51 +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
Jason Lawrence
c4c90acd34 Remove f-string for py2 compatibility 2020-04-29 11:21:50 -05:00
Jason Lawrence
1275f7c0d1 Format with black 2020-04-29 08:42:31 -05:00
Hellowlol
1e77e76fb0 Add log message
Add some test that verify that we cant get in a enless loop and handle container_start corrently.
2020-04-29 14:42:19 +03:00
Jason Lawrence
95188b0f72 Add Sonos cache & speaker lookup methods, set X-Plex-Client-Identifier 2020-04-28 15:19:18 -05:00
Jason Lawrence
55b335ee7c Add lookup & control of linked Sonos speakers 2020-04-28 14:06:26 -05:00
Hellowlol
5a2f14e645 Update based on comments. 2020-04-27 19:22:10 +03:00
Hellowlol
1ba8fe77f7 Add misssing docstring
fix comment.
2020-04-27 00:29:28 +03:00
Hellowlol
0647c714a3 only update if all is in the url 2020-04-27 00:14:00 +03:00
Hellowlol
db1f9a9b39 use cast 2020-04-27 00:05:23 +03:00
Hellowlol
66df034023 add fetchItems to library
use totalSize so we dont do any more http requests then needed.
2020-04-26 23:51:57 +03:00
Hellowlol
91d76a5d94 Make it easier to set a container size using search 2020-04-26 23:34:13 +03:00
Hellowlol
93dda3c9e5 reduce loglevel 2020-04-26 22:55:54 +03:00
Steffen Fredriksen
6eea7cce0f
Allow pagination (#464)
Allow pagination on fetchItems
2020-04-26 21:18:52 +02:00
Sascha Montellese
62cb7585ca Add myplex.MyPlexPinLogin 2020-04-20 23:14:15 +02:00
jjlawren
74ae49ee3c
Bump to 3.4.0 for release (#459) 2020-04-17 11:01:41 -05:00
blacktwin
37b4c8729d
Merge pull request #452 from jjlawren/fix_docstrings
Fix docstrings for tests
2020-04-16 17:20:33 -04:00
Jason Lawrence
9baff74a89 Fix example 2020-04-16 16:18:38 -05:00
jjlawren
6e1fac7984
Fix client control on unclaimed servers (#456) 2020-04-16 14:06:36 -05:00
Steffen Fredriksen
0da9e3994a
Merge pull request #451 from jjlawren/raise_notfound
Raise NotFound on 404 errors
2020-04-16 14:41:14 +02:00
Jason Lawrence
a1332434f1 Fix docstrings for tests, remove unused param 2020-04-15 22:49:18 -05:00
Hellowlol
b01d808dc9 fix bug 2020-04-16 01:01:45 +02:00
Hellowlol
e0d5a873e1 misc fixes 2020-04-16 00:30:00 +02:00
Jason Lawrence
a6cfe4225a Raise NotFound on 404 errors 2020-04-15 17:09:27 -05:00
Hellowlol
ed3d16d1b0 som pytest 4 compat
and change to client timeline is can respond quicker.
2020-04-15 22:53:17 +02:00
Hellowlol
cc71daeaba sync 2020-04-15 20:41:15 +02:00
blacktwin
3a95f55b7e
Merge pull request #410 from pkkid/new_hubs
new_hubs
2020-04-13 13:44:34 -04:00
blacktwin
ba1559dcdc flake fix
line too long
2020-04-13 13:30:54 -04:00
blacktwin
a47f67d3df Merge remote-tracking branch 'origin/new_hubs' into new_hubs 2020-04-13 13:26:49 -04:00
blacktwin
efad7ebe44 flake fix
remove unused import X_PLEX_CONTAINER_SIZE
2020-04-13 13:26:15 -04: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
4cbccabee8
Merge branch 'master' into new_hubs 2020-04-12 22:40:15 -04:00
blacktwin
bef40a74f5
Merge branch 'master' into unmatch_match 2020-04-12 22:37:50 -04:00
blacktwin
d7d2d5aa56 flake fix
indention and newline at end of file
2020-04-12 22:36:44 -04:00
blacktwin
fb1ea67a40 flake fix
remove unused imports
2020-04-12 22:35:48 -04:00
blacktwin
2a198f5cb8 flake fix
missing return
2020-04-12 22:35:22 -04:00
blacktwin
0a77c74466
Merge pull request #426 from pkkid/conversion_actions
conversion_actions
2020-04-12 22:34:51 -04:00
jjlawren
e9ecb595a6
Raise exception when empty key passed to fetchItem* (#432) 2020-04-11 08:30:05 -05:00
jjlawren
cbdf5ec998
Fix playMedia() calls with a PlayQueue (#446)
* Fix playMedia() calls with a PlayQueue

* Fix playlists, simplify
2020-04-09 22:34:14 -05:00
jjlawren
dd91ae41f4
Use Unauthorized exception (#447)
* Use Unauthorized exception in server, myplex, client
2020-04-09 15:56:26 -05:00
blacktwin
839a9da41d
Merge branch 'master' into conversion_actions 2020-04-07 09:21:32 -04:00
Jason Lawrence
ee5983f966 Remove type hinting for compatibility 2020-04-01 21:11:21 -05:00
Jason Lawrence
e97a39b427 Add support to scan for Plex clients 2020-04-01 15:56:36 -05:00
Jason Lawrence
2af89742ff Add GDM implementation from netdisco 2020-04-01 15:55:51 -05:00
Jason Lawrence
f07766f409 Fix bad indents in media.py 2020-03-31 07:32:56 -05:00
Jason Lawrence
87c147c551 Workarounds for Android & Samsung clients 2020-03-29 14:14:48 -05:00
blacktwin
1bdba218b9 add arts methods to playlist.Playlist
Playlists currently do not have or expose any art
this is to be a place holder for the possible addition from Plex
2020-03-18 09:45:52 -04:00
blacktwin
3215856eb5 add arts methods to library.Collections 2020-03-18 09:44:24 -04: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
d69760e3e5 fix Collection posters method's key 2020-03-18 09:39:44 -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
8320359b5e Revert "fix for setPoster returning the new selected posters thumb path setPoster's response.encoding will be None all others are str"
This reverts commit c72cc245
2020-03-18 01:24:20 -04:00
blacktwin
7190d9cb15 Merge remote-tracking branch 'origin/poster_change' into poster_change 2020-03-18 01:17:17 -04:00
blacktwin
53a61561b1 fix filepath in uploadPoster for Collections 2020-03-18 01:16:26 -04:00
blacktwin
9651f77c07 add posters methods to playlist
poster displays from hub but reverts to composite when on playlist page
uploaded poster are only visible with the posters method or it's endpoint not in the webui
2020-03-18 01:15:43 -04:00
blacktwin
dedab2b5f5 posters methods for collections 2020-03-18 00:55:38 -04:00
blacktwin
623c304fda setPoster docstring 2020-03-18 00:55:17 -04:00