Commit graph

1082 commits

Author SHA1 Message Date
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
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
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
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
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