Commit graph

981 commits

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