Commit graph

1629 commits

Author SHA1 Message Date
Elan Ruusamäe
e1e9a6995e
Fix: Remove bogus space from limit parameter (#1073) 2022-12-21 13:10:48 -08:00
Elan Ruusamäe
668fdbbe56
Allow overriding includeUserState for _toOnlineMetadata (#1071)
* Allow overriding includeUserState for _toOnlineMetadata

* Pass kwargs from watchlist to _toOnlineMetadata

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2022-12-21 13:10:09 -08:00
Elan Ruusamäe
c3d2a56a80
Use totalSize attribute for watchlist walking (#1070) 2022-12-21 13:02:02 -08:00
Elan Ruusamäe
b056e9d60b
Fix: Inherit session when creating internal PlexServer objects (#1069)
* Make myPlexAccount inherit session

* Pass session to _toOnlineMetadata PlexServer
2022-12-21 13:01:37 -08:00
JonnyWong16
f330d87d51
Fix getGuid doc string (#1068) 2022-12-21 11:52:29 -08:00
Elan Ruusamäe
7580fc84a9
Use cached_property decorator (#1065)
* Use @cached_property in PlexSession.user

* Use @cached_property in PlexServer.library

* Use @cached_property in PlexServer.settings

* Tests: Update clearing plex.settings cache

* Use @cached_property in LibrarySection.totalSize

* Add backports.cached-property==1.0.2; python_version<="3.7" dependency

* Import cached_property from dist or backports

* Add backports.cached-property to requirements_dev.txt

* Remove version pin for backports.cached-property in requirements.txt

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2022-12-21 11:51:45 -08:00
JonnyWong16
ac41fbf4fb
Add 2FA code parameter for MyPlexAccount (#1063) 2022-12-21 11:44:34 -08:00
JonnyWong16
955c697549
Add Rating media tag (#1059)
* Add tagKey for Role

* Simplify Guid tag

* Sort tag attributes and update doc strings

* Add media Rating tag

* Add tests for Rating tag
2022-12-21 11:43:52 -08:00
JonnyWong16
be42435ed3
Factor out playQueue() method to PlexPartialObject (#1058)
* Factor out `playQueue` to `PlexPartialObject`

* Update `PlayQueue.create()`

* Fix playqueue tests
2022-12-21 11:43:26 -08:00
JonnyWong16
e5d3ebe273
Fix parsing settings enum (#1057)
* Assume key and value are equal when missing `key:value` pair
2022-12-21 11:34:50 -08:00
JonnyWong16
9dbb2e5169
Create music playlist from m3u file (#1055)
* Create music playlists from m3u files

* Add test for playlist m3u import

* Add createCollection examples
2022-12-21 11:32:43 -08:00
ReenigneArcher
b5110722fd
Add timeout parameter to uploadTheme (#1039)
Since themes may take a while to upload, it may be beneficial to have a separate `timeout` option for uploading themes, instead of using the default `config.TIMEOUT`.
2022-12-21 11:32:07 -08:00
JonnyWong16
3d3f9da501
Release 4.13.1 2022-11-08 18:02:59 -08:00
Michael Cramer
1d5eb8a883
"repeat" should not be a boolean: 0, 1 or 2 (#1046)
* "repeat" should not be a boolean: 0, 1 or 2

* cast to int
2022-11-08 16:36:56 -08:00
JonnyWong16
3216acfb41
Add methods to change Plex Home PIN (#1044)
* Add methods to change Plex Home PIN

* Add tests for changing Plex Home PIN
2022-11-08 15:57:54 -08:00
Sebastian Noel Lübke
f97b1c48c8
fix typo (#1041) 2022-11-08 15:57:30 -08:00
JonnyWong16
01c8ff269d
Fix initializing metadata.provider.plex.tv multiple times (#1027) 2022-11-08 15:57:16 -08:00
JonnyWong16
9b0c8e5fd3
More f-string changes (#1025) 2022-11-08 13:40:18 -08:00
Rick Getz
52b3abfe69
Add container size to seasons request to allow more than 20 to be pulled (#1019)
* Add container size to seasons request to allow more than 20 to be pulled

* Add child count as container_size argument as requested.

* Spacing typo
2022-11-08 13:39:53 -08:00
JonnyWong16
2f52b300f1
Fix library guid search (#1024)
* Fix library guid search

* PMS 1.28.2.6151-914ddd2b3 no longer allows `guid!=` search

* Update library search operators doc string for guid
2022-09-08 14:58:04 -07:00
JonnyWong16
356ce8bf7e
Release 4.13.0 2022-08-27 23:09:16 -07:00
JonnyWong16
020a32f2b8
Update PlexAPI to f-strings (#1000)
* Update plexapi to f-strings

* Update tests to f-strings
2022-08-27 22:56:01 -07:00
Joshua Peek
fbc124aa57
Fix searchDiscover handling invalid results (#1013)
* Filter out bad discover search results

An stub object is sometimes returned from the API that is marked as
`'external'` but has has no `'SearchResults'` key.

    {'id': 'external', 'title': 'More Ways To Watch', 'size': 0}

* Wrap line to fit 127c

* Ensure empty array for SearchResult
2022-08-27 06:24:10 -07:00
JonnyWong16
4d9e1d4f14
Add edition support for movies (#1010)
* Add editionTitle to Movie attributes

* Add EditionTitleMixin to Movie

* Add tests for movie editionTitle

* Add `editions()` method to Movie

* Add test for movie editions method
2022-08-27 06:17:33 -07:00
JonnyWong16
02e3ddf3c1
Add maxresults parameter to MyPlexAccount.watchlist() (#1009)
* Add `maxresults` parameter to watchlist

* Test watchlist maxresults
2022-08-27 00:20:11 -07:00
JonnyWong16
e640f57319
Add utils.toJson(obj) function to convert an object to a JSON string (#998)
* Add `utils.toJson(obj)` function to convert an object to a JSON string

* Add test for utils.toJson()
2022-08-27 00:13:41 -07:00
JonnyWong16
ef12e64a6f
Add support for using MediaTag objects when editing tags (#994)
* Support using MediaTag objects when editing tags

* Update tests for editing tags with MediaTag objects
2022-08-26 22:52:50 -07:00
JonnyWong16
d1211722c8
Use pagination for /all endpoints (#990) 2022-08-26 22:45:15 -07:00
JonnyWong16
c8854c64c9
Add return self to various methods to support chaining (#986)
* Add return self to various methods to support chaining

* Fix runButlerTask test
2022-08-26 14:44:50 -07:00
JonnyWong16
f0ed19c2fe
Add PlayedUnplayedMixin (#984)
* Add PlayedUnplayedMixin

* Deprecate Video isPlayed, markWatched, and markUnwatched

* Rename all deprecated methods

* Return self to enable method chaining

* Update tests for audio markPlayed / markUnplayed using history

* Remove duplicate video history tests
2022-08-26 12:14:24 -07:00
JonnyWong16
716d8edb52
Add ability to toggle account view state syncing (#983)
* Add method to enable/disable view state syncing

* Add tests for view state sync
2022-08-26 12:00:46 -07:00
meisnate12
6b29307aa2
Add ManagedHub Object and methods (#785) 2022-08-26 10:43:47 -07:00
JonnyWong16
b919c20e69
Release 4.12.1 2022-08-05 20:26:37 -07:00
JonnyWong16
bb860ef3d4
Remove timeout argument from preferred_connections (#1005) 2022-08-05 20:16:29 -07:00
JonnyWong16
db03046d2c
Fix resource mixins to use ratingKey instead of key (#992) 2022-08-05 19:53:06 -07:00
JonnyWong16
bf0ba67974
Update search operator docs (#993) 2022-08-05 19:52:51 -07:00
JonnyWong16
22dcd5dc5d
Remove unused timeout parameter from preferred_connections doc string (#987) 2022-08-05 19:52:34 -07:00
Rui Carmo
a7e87a583f
Expose callbackError parameter in PlexServer.startAlertListener() (#985)
* Expose callbackError

This makes it easier to catch errors without separately instantiating an AlertListener

* Update docstring.

* Fix docstring

Removed post-argument note, incorporated suggestion.
2022-08-05 19:52:09 -07:00
JonnyWong16
3a56c69078
Release 4.12.0 2022-07-20 20:56:58 -07:00
JonnyWong16
13282f157b
Use fetchItem for MyPlexAccount.userState() (#982) 2022-07-20 20:12:30 -07:00
JonnyWong16
71d11a4280
Fix Artists.matches() when searching by title (#981) 2022-07-20 20:10:25 -07:00
JonnyWong16
f62dcbc5a4
Fix Video.optimize() method (#965)
* Add PlexObjects for all library media tags

* Add method to return all library media tags

* Add test for Library.tags

* Update Video.optimize

* Update video optimize test

* Use TAGTYPE for LibraryMediaTags

* Accept LibraryMediaTag as a search filter

* Use ratingKey and id before key in repr
2022-07-20 20:07:39 -07:00
JonnyWong16
925f573ced
Create separate PlexSession objects (#931)
* Add base findItem method

* Create new PlexSession objects

* PlexSession objects are unique from their base media objects. These objects are built from `/status/sessions` instead of `/library/metadata/<ratingKey>`. This allows reloading data from sessions without overwriting them.

* Add some media and client attributes for sessions

* Add separater property to return the PlexSession user object

* This speeds up building the `PlexSession` object since it doesn't need to lookup the user.
* The user object is also cached for future lookups.

* Remove PlexSession attributes from tests

* Never auto reload a PlexSession object

* Rename PlexSession.usernames for backwards compatibility

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

* Don't cache myPlexAccount in PlexSession

* Move session stop method to PlexSession

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2022-07-20 20:03:20 -07:00
JonnyWong16
d09cc47562
Use /related endpoint for hubs (#978) 2022-07-20 19:49:11 -07:00
JonnyWong16
f5673294c7
Remove check for playQueueType when adding items to a PlayQueue (#977)
* Remove check for playQueueType when adding items to a PlayQueue

* Fix PlayQueue doc strings
2022-07-20 19:49:02 -07:00
JonnyWong16
9f7f11ba9c
Add support for Plex OAuth (#974)
* Add method to return Plex OAuth url

* Add helper utils function for Plex OAuth
2022-07-20 19:48:52 -07:00
JonnyWong16
3107e25a0e
Fix searching and browsing Discover results (#970)
* Fix discover search results

* Plex API response changed to separate "Free on Demand" and "More Ways To Watch"

* Add test for searchDiscover

* Manually set watchlist and discover result to online metadata objects

* Replace all key format ratingKey with key

* Add libtype argument to searchDiscover

* Update tests for searchDiscover libtype

* Add includeUserState=1 parameter to Discover results details key

* Add method to return UserState object
2022-07-20 19:37:48 -07:00
JonnyWong16
117af58897
Add guids attribute to Artist, Album, and Track (#968)
* Add guids attribute to Artist, Album, and Track

* PMS 1.27.0.5897 adds `<Guid>` tags with MusicBrainz ID to artists, albums, and tracks.

https://forums.plex.tv/t/plex-media-server-forum-preview-for-music-metadata/785088
https://forums.plex.tv/t/plex-media-server/30447/510

* Update audio guid tests
2022-07-20 19:35:46 -07:00
JonnyWong16
caca24f10f
Add MediaPartStream.languageTag attribute (#959)
* Add `MediaPartStream.languageTag` attribute

* Add `languageTag` to tests
2022-07-20 19:06:06 -07:00
JonnyWong16
76240dc7a8
Add method to switch Plex Home users (#958)
* Add method to switch Plex Home users

* Update user parameter types in doc strings
2022-07-20 19:05:29 -07:00
Matt McDowall
188b4a4e7e
Define ratingCount attribute in doc (#955) 2022-07-20 19:03:00 -07:00
JonnyWong16
9e918a43a7
Release 4.11.2 2022-05-30 09:06:09 -07:00
Elan Ruusamäe
650fbac312
Remove extending from (object), not needed in Python 3 (#943) 2022-05-30 09:05:00 -07:00
JonnyWong16
f16058fa03
Minor improvements to fetching season/show (#950)
* Check parentIndex is an integer for Episode.seasonEpisode

* Saves an extra API call to `season()` for Season 0 (Specials)

* Use parentKey and grandparentKey to fetch show
2022-05-30 09:01:55 -07:00
JonnyWong16
f7f2b6b115
Make sure PlexObject private attributes are set before loading data (#946) 2022-05-30 08:53:27 -07:00
jjlawren
e78835b234 Release 4.11.1 2022-05-19 14:48:39 -05:00
jjlawren
8e099dd15c
Avoid overwriting auto-reloaded attributes with None (#944) 2022-05-19 14:48:01 -05:00
JonnyWong16
8d805968c4
Release 4.11.0 2022-05-18 11:12:54 -07:00
JonnyWong16
fba0dbccf2
Add support for watchlists and streaming services (#922)
* Remove Plex news

* Replace requests with query method for online hubs

* Add myPlexAccount watchlist methods

* Add mixin for objects that can be added to watchlist

* Add tests for watchlist

* Always split ratingKey from guid for watchlist

* Add method to retrieve streaming service availability

* Add test for streaming service availability

* Add filtering and sorting for watchlists

* Fix watchlist tests

* Add method to check if an item is on a user's watchlist

* Update watchlist tests

* Make account optional for WatchlistMixin

* Add Discover search

* Use manuallyLoadXML method for Discover search results

* Remove webshows and podcasts

* Fix WatchlistMixin account AttributeError

* Add BadRequest exception when adding to/removing from watchlist

* Update watchlist tests for BadRequest

* Update watchlist doc strings
2022-05-18 11:04:18 -07:00
JonnyWong16
ecd0d9530c
Add collection label to search filters (#937) 2022-05-16 20:03:46 -07:00
JonnyWong16
8303d6fa2c
Allow disabling auto-reloading when accessing missing attributes (#935)
* Rename _autoReload to _overwriteNone

* Allow disabling auto reloading

* Update test for disabling auto reloading

* Change autoReload to private attribute
2022-05-16 20:03:06 -07:00
JonnyWong16
b14a653a3b
Fix PlexServer.isBrowsable(path) when running Plex API on a different OS (#933) 2022-05-16 19:58:52 -07:00
JonnyWong16
6fc7d95266
Add support for Plex guid in LibrarySection.getGuid() (#926)
* Add support for Plex guid in `LibrarySection.getGuid()`

* Update getGuid test with Plex guid
2022-05-16 19:54:51 -07:00
JonnyWong16
2683655dcf
Get album track by track number without keyword argument (#918)
* Get album track by track number

* Update tests for `Album.track()`

* Also updates test for `Season.episode()`
2022-05-16 19:52:16 -07:00
JonnyWong16
153ef66df0
Add method to manually run butler tasks (#916)
* Add butler tasks

* Add tests for butler tasks
2022-05-16 19:51:39 -07:00
Karthikeyan Singaravelan
e0eb619561
Set daemon attribute instead of using setDaemon method that was deprecated in Python 3.10. (#913) 2022-05-16 19:46:21 -07:00
JonnyWong16
82aede202d
Use breadth-first search when using rtag (#912) 2022-05-16 19:46:10 -07:00
Kian-Meng Ang
398c058f18
Fix typos (#939) 2022-05-16 15:39:42 -05:00
jjlawren
8429cfd94d Release 4.10.1 2022-03-17 16:54:51 -05:00
jjlawren
d03a27450d
Allow exclusion keys in sharing settings (#908) 2022-03-17 16:54:27 -05:00
jjlawren
549e76b25a
Fix playMedia and goToMedia when using a different PMS (#907) 2022-03-17 15:49:33 -05:00
Zac West
ae30818ba5
Enable external media in responses, e.g. Tidal (#905) 2022-03-17 15:46:05 -05:00
JonnyWong16
bb4d0dbf1d
Release 4.10.0 2022-02-26 23:42:22 -08:00
JonnyWong16
49388558c3
Fix Artist.album() to return special albums (#896) 2022-02-26 23:16:48 -08:00
JonnyWong16
372e620d60
Add support for collection "filtering based on user" advanced setting (#894)
* Add collectionFilterBasedOnUser attribute

* Add filterUserUpdate method

* Check for smart collection for updateSort

* Update test collection filterUserUpdate
2022-02-26 22:50:04 -08:00
JonnyWong16
0cb8712896
Add missing Track.skipCount attribute (#893)
* Add track skipCount attribute

* Add track.skipCount to tests
2022-02-26 22:31:21 -08:00
JonnyWong16
87a7ec6ddf
Add Video.audioStreams() convenience method (#891)
* Add Video.audioStreams() convenience method

* Add test for Video.audioStreams()
2022-02-26 22:24:43 -08:00
JonnyWong16
3e57c9b262
Add extras and hubs mixins (#890) 2022-02-26 22:04:18 -08:00
JonnyWong16
870ba6664f
Refactor and cleanup tag methods (#875)
* Refactor tag functions into EditTagsMixin

* Fix test mixins tag use of _tagSingular

* Add kwargs to editTags

* Fix _tagSingular and _tagPlural if tag is already singular or plural

* Make editing tags chainable

* Add chaining example to doc string

* Update editTags doc string for batch editing
2022-02-26 21:50:48 -08:00
JonnyWong16
59638dc714
Add new methods to edit object fields (#876)
* Update Collection.edit() method

* Add new EditFieldMixin and subclasses

* Add EditFieldMixin to Plex objects

* Update PlexPartialObject.edit() doc string

* Cast Track parentIndex to int

* Add base _searchTypes property

* Add kwargs to editField

* Editing album title also requires the artist ratingKey

* Add tests for editing fields

* Deprecate Collection.edit()

* Make editing fields chainable

* Add chaining example to doc string

* Add batch editing mode

* Add test for batchEdits

* Clean up mixins imports

* Reorder mixins

* Fix tests for batch edit
2022-02-26 21:40:51 -08:00
JonnyWong16
a568819e1e
Add tests for theme mixin (#897)
* Add lockTheme and unlockTheme methods

* Change setTheme to raise NotImplementedError

* Add tests for theme mixins
2022-02-26 21:05:43 -08:00
jjlawren
caf3910057
Ignore whitespace in library section lookup (#888) 2022-02-26 20:31:54 -08:00
JonnyWong16
c08e032ee3
Add librarySectionID when using fetchItem (#885) 2022-02-26 20:17:23 -08:00
ReenigneArcher
3917b335ca
Fix various typos (#880)
* Fix various typos

* Fix various typos in tests

* Fix typos in `tests`

* Fix more typos

* Fix hasScalingMatrix test

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2022-02-26 19:26:08 -08:00
ReenigneArcher
9a5170c2fb
Add Themes Support (#879)
* Fix typo in 'grandparentThumb'

* Add Themes support

* Fix Themes for Seasons and Episodes

Themes are not available for Seasons or Episodes according to this: https://web.archive.org/web/20150113085312/http://dev.plexapp.com/docs/agents/models.html

* Add Themes to Artists, Albums, and Tracks

Themes are available for Artists according to this: https://web.archive.org/web/20150113085312/http://dev.plexapp.com/docs/agents/models.html

* Update per PR review

* Update BaseResource and Theme classes

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2022-02-26 18:47:54 -08:00
meisnate12
2f101e3899
Add LabelMixin to Season, Episode, Artist, and Track objects (#872)
* Add LabelMixin to Episode class

* Add test_mixins.edit_label(episode) test

* Add Label Mixin to Season, Artist,and Track

* fix tests

* Load manual FilteringFields for labels

* Load manual FilteringFilters for labels

Co-authored-by: Elan Ruusamäe <glen@pld-linux.org>
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2022-02-26 17:32:18 -08:00
jasonl
e3aa111784 Release 4.9.2 2022-02-06 22:59:08 -06:00
jjlawren
8e30301296
Return all albums with Artist.albums() (#884) 2022-02-06 22:58:12 -06:00
jasonl
3b195ec6be Release 4.9.1 2022-01-24 16:06:20 -06:00
jjlawren
1804fad046
Create PlayQueue from a radio station key (#877)
* Create PlayQueue from a station key

* Rework docstring

* Move example into proper code block

* Switch to camel case
2022-01-24 16:00:09 -06:00
JonnyWong16
ef5515852e
Release 4.9.0 2022-01-23 21:00:23 -08:00
jjlawren
9b3b65bcaf
Support global hubs (#873)
* Get global hubs

* Add hub filtering arguments

* Simplify
2022-01-23 20:40:35 -08:00
JonnyWong16
b89bd23652
Change MusicSection.stations() to return Playlist objects (#871)
* Fix library stations

* `LibrarySection.stations()` returns a list of `Playlist` station objects

* Add test for MusicSection stations
2022-01-23 20:40:04 -08:00
jjlawren
570742cff8
Support for Artist radio stations (#870)
* Initial support of artist radio stations

* Fix docstring

* Change to a singular optional station

* Change to a property

* Revert property

* Explicitly set librarySectionID

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2022-01-23 20:39:35 -08:00
JonnyWong16
0620eb4bf0
Fix Agent object settings (#864)
* Fix mediaType argument for PlexServer.agents()

* Cleanup Agent and AgentMediaType attributes

* Add `DeprecationWarning` to `languageCode`

* Make Agent.settings() method public

* Add `DeprecationWarning` to `Agent._settings()`

* Fix parsing Setting.enumValues

* XML attribute for agent settings uses `values` instead of `enumValues`

* Add secure and option attributes to Setting

* Add test for server agents
2022-01-23 16:15:10 -08:00
JonnyWong16
d2c849fa5e
Improve getGuid method (#862)
* Improve getGuid method

* Update getGuid test
2022-01-23 16:13:30 -08:00
JonnyWong16
fcbea70549
Add methods to lock and unlock a field for all items in a library (#861)
* Add plex folder to .gitignore

* Add method to lock/unlock a field for all items in a library

* Add test to lock/unlock all posters in a library
2022-01-23 16:11:20 -08:00
blacktwin
34f0125e12 docstring line 2022-01-05 22:54:57 -05:00
blacktwin
0882b8f9fc minor docstring update 2022-01-05 22:50:27 -05:00
blacktwin
624af2e4c5 remove use of Path objects for adding and removing locations 2022-01-05 09:06:35 -05:00
blacktwin
4f340d0ce4 var renaming for consistency 2022-01-03 16:57:29 -05:00
blacktwin
54897d2e9e This reloading was removed in #855. 2022-01-03 16:56:38 -05:00
blacktwin
f8e2b06998 unexpected unindent 2021-12-20 00:44:45 -05:00
blacktwin
55279799da
docstring indention fixes 2021-12-20 00:33:21 -05:00
blacktwin
7390a9ba0c copy/paste oops 2021-12-19 23:09:06 -05:00
blacktwin
9586d8f09d fix up for addLocations, only check paths that are being added not existing paths. 2021-12-19 23:09:06 -05:00
blacktwin
4c519c62dc remove underscores 2021-12-19 23:09:06 -05:00
blacktwin
c2facf0144
Merge branch 'master' into libraryEditUpdates 2021-12-19 22:20:13 -05:00
blacktwin
5cf95e53d0 we are unable to remove all locations from a library
the result of posting this request is nothing
to reduce confusion add a check for locations size after removals
2021-12-19 22:05:58 -05:00
blacktwin
d1b190375a fix up removeLocation method 2021-12-19 22:04:05 -05:00
blacktwin
d04bf034f7 Use .get() for kwargs location for when not editing library locations
build location list inside path checking loop
2021-12-19 22:03:32 -05:00
blacktwin
1aa704324e add paths inside valid path check loop 2021-12-19 21:20:30 -05:00
blacktwin
824be407d0 remove path check on str in add() method 2021-12-19 21:11:56 -05:00
blacktwin
d3b0d7b09b remove list check in add() method 2021-12-19 21:09:49 -05:00
blacktwin
7e14d2d315 check for valid paths in addLocation and removeLocation methods 2021-12-18 23:48:53 -05:00
blacktwin
ba490c7f67 refactor edit method for correcting location param 2021-12-18 23:47:11 -05:00
JonnyWong16
a4976137d2
Release 4.8.0 2021-11-20 17:31:34 -08:00
Elan Ruusamäe
15e011fd29
Add support for error callback for AlertListener (#850) 2021-11-20 16:46:28 -08:00
JonnyWong16
a8136d2776
Change LibrarySection.reload() to reload in-place (#855)
* Fix LibrarySection reload in-place to mimic PlexObject reload

* Don't reload LibrarySection after edit

* Also mimics PlexObject.edit()

* Update library section edit test
2021-11-20 16:35:37 -08:00
JonnyWong16
8815cda444
Add totalDuration and totalStorage properties to LibrarySection (#851)
* Add LibrarySection properties totalDuration and totalStorage

* Add tests for LibrarySection totalDuration and totalStorage
2021-11-20 16:29:08 -08:00
JonnyWong16
777ea754be
Add methods for accepting and cancelling friend invites (#849)
* Add accepting and cancelling friend invites

* Add mocked tests for acceptInvite and cancelInvite

* Rename methods to pendingInvite
2021-11-20 16:16:01 -08:00
JonnyWong16
4e8a6133eb
Fix media delete (#848)
* Fix media delete

* Update media delete test
2021-11-20 16:02:34 -08:00
JonnyWong16
01131c95cf
Cleanup download methods (#847)
* Add utils.cleanFilename

* Refactor download methods

* Add option to download episodes, tracks, photos into subfolders

* Update download tests

* Test download keep_original_filename
2021-11-20 14:16:58 -08:00
JonnyWong16
34a42185ac
Update server transcodeImage method (#845)
* Update server transcodeImage method

* Update server transcodeImage tests
2021-11-20 13:53:00 -08:00
blacktwin
8cf4f013c4 refactor removing locations 2021-10-26 18:12:42 -04:00
blacktwin
617206e823 adding browsable checks for adding and removing paths 2021-10-26 18:02:10 -04:00
blacktwin
84bd5159d6 updating docstring for new acceptable class 2021-10-26 18:00:11 -04:00
blacktwin
cb1eebd37e change acceptable class for adding and removing locations 2021-10-26 17:59:42 -04:00
blacktwin
cd04cb48ef change edit method to use new method for checking path 2021-10-26 17:52:44 -04:00
blacktwin
fbd5d10e41 update doc to mention list support for paths 2021-10-26 17:50:34 -04:00
blacktwin
b14b48f9f8 check if path exists for list of paths 2021-10-26 17:50:07 -04:00
blacktwin
61d93e78ba refactor for new method to check if path exists 2021-10-26 17:49:40 -04:00
blacktwin
921356099e create isBrowseable method in server.PlexServer 2021-10-26 17:47:34 -04:00
blacktwin
e46fc1cdc4 remove pathExist method from utils 2021-10-26 17:46:57 -04:00
blacktwin
9764ad4038 removing example 2021-10-22 17:02:38 -04:00
JonnyWong16
09730b5dc2
Release 4.7.2 2021-10-04 16:08:45 -07:00
JonnyWong16
bf3f0c1392
Merge branch 'master' into feature/album_types 2021-10-04 14:13:39 -07:00
JonnyWong16
a3178f3ac3
Merge pull request #831 from JonnyWong16/feature/includeGuids
Automatically retrieve external guids from libraries using includeGuids
2021-10-04 13:56:11 -07:00
JonnyWong16
3fce24587d
Merge pull request #810 from JonnyWong16/feature/web_url
Add methods to retrieve the Plex Web URL
2021-10-04 12:38:24 -07:00
blacktwin
222b8fe9ff Merge branch 'master' of https://github.com/pkkid/python-plexapi into libraryEditUpdates 2021-09-27 11:18:07 -04:00
blacktwin
7e04b9fc4e Library.edit method docstring update with example 2021-09-27 10:19:28 -04:00
blacktwin
25fbf6b220 adding convenience methods for adding and removing locations from a library 2021-09-27 10:18:59 -04:00
blacktwin
e8711e9b35 update to Library.edit method to allow editing locations 2021-09-27 10:17:48 -04:00
blacktwin
75c4886b01 update to Library.add method to allow for multiple locations 2021-09-27 10:16:53 -04:00
blacktwin
ccda840c35 adding pathExist to utils 2021-09-27 10:15:18 -04:00
JonnyWong16
105a156980
Add example to getGuid doc string 2021-09-26 19:04:26 -07:00
JonnyWong16
49ce2f9bb4
Refactor getWebURL 2021-09-26 15:23:35 -07:00
JonnyWong16
ae4b4d7ce4
Fix typo in lyric streams doc string 2021-09-21 09:33:37 -07:00
JonnyWong16
607d4b0faf
Add album format and subformat tags 2021-09-16 15:03:46 -07:00
JonnyWong16
65d538c976
Update doc string for get and getGuid with raises exception 2021-09-15 15:47:21 -07:00
JonnyWong16
222fe04a08
Add method to get media item using a guid 2021-09-15 15:47:21 -07:00
JonnyWong16
842ec8ac42
Add includeGuids when parsing smart filters 2021-09-15 15:38:54 -07:00
JonnyWong16
bc6afebed9
Add includeGuids parameter when retrieving library results 2021-09-15 15:38:54 -07:00
Jason Lawrence
a50875afd6 Release 4.7.1 2021-09-12 20:55:59 -05:00
jjlawren
69739d6f2a
Fix PMS timeline reporting on clients when using playMedia (#826) 2021-09-12 20:51:18 -05:00
jjlawren
b8cef9dc12
Update version handling and add helper script (#806)
* Update version handling and add helper script

* Remove typing hints

* Address review, add tag argument
2021-09-12 19:59:23 -05:00
JonnyWong16
692a23586c
Add methods to lock and unlock artwork and posters (#825)
* Add private _edit method

* Add fields attribute to playlists

* Add lock and unlock methods to art, banner, and poster mixins

* Add tests for locking and unlocking art and posters
2021-09-12 19:56:21 -05:00
blacktwin
168f1d331c
Add attribute for Sonic Analysis (#814)
* adding new attribute found in Albums and Tracks when Sonically Analyzed

* update docstring and add property hasSonicAnalysis
2021-09-12 19:53:06 -05:00
JonnyWong16
e10f96a529
Add getPlaylistsWebURL for the server playlists page 2021-08-25 18:10:11 -07:00
JonnyWong16
17ab4ce252
Add getWebURL for LibrarySection and library hubs 2021-08-25 18:10:11 -07:00
JonnyWong16
9483e4d9c9
Add custom Plex Web URL override for track, photo, and playlist 2021-08-25 18:10:11 -07:00
JonnyWong16
0811e5334c
Add method to get the Plex Web URL for media items 2021-08-25 18:10:11 -07:00
Jason Lawrence
bd7de4281e Release 4.7.0 2021-07-26 20:59:51 -05:00
JonnyWong16
42260aa1b6
Add libtype argument for creating smart playlists (#799)
* Add libtype keyword argument for smart playlists

* Update docs, remove libtype collection from smart playlists/collections

* Cannot create a smart playlist or collection from other collections

* Update smart playlist filter test for libtype
2021-07-26 20:46:30 -05:00
JonnyWong16
6cacc4a55a
Add playlist title search and sorting (#782)
* Add title and sort arguments to server playlists method

* Raise NotFound when retrieving a playlist or collection

* Update tests for collection/playlist NotFound
2021-07-26 20:45:58 -05:00
jjlawren
3b1dce7a8d
Decouple resource address sorting from connection attempts (#800)
* Decouple resource address sorting from connection attempts

* Fix lint

* Move defaults to class
2021-07-26 20:38:16 -05:00
JonnyWong16
2c540f69c8
Add producers, roles, and hasCommercialMarker to Episode objects (#797)
* Add producers and roles to Episode

* Add producers and roles to episode test

* Add hasCommercialMarker to Episode
2021-07-26 20:36:54 -05:00
JonnyWong16
753a67ffcd
Remove Content-type header from sync 2021-07-16 10:14:25 -07:00
JonnyWong16
88038a9b6c
Set default sync subtitleSize 2021-07-16 10:14:25 -07:00
JonnyWong16
456a8a53ab
Merge pull request #788 from JonnyWong16/feature/search_objects
Add ability to use FilterChoice and FilteringSort objects in library search
2021-07-16 09:21:55 -07:00
JonnyWong16
31de29d502
Merge pull request #783 from JonnyWong16/feature/custom_collection_order
Add ability to move items in a collection
2021-07-16 09:21:25 -07:00
JonnyWong16
82fa178952
Merge pull request #781 from JonnyWong16/feature/parse_smart_filter
Add ability to parse the smart filters from collections and playlists
2021-07-16 09:21:10 -07:00
JonnyWong16
cfbf6f596d
Merge pull request #780 from JonnyWong16/bugfix/new_filters
Remove manual sorts/fields added to PMS
2021-07-16 09:20:48 -07:00
JonnyWong16
be1b6eb646
Add ability to use FilteringSort objects for library search sort 2021-07-04 19:21:44 -07:00
JonnyWong16
293207e186
Add ability to use FilterChoice objects for library search tags 2021-07-04 18:58:35 -07:00
JonnyWong16
b7e8b37b3e
Add method to move items in a collection 2021-06-29 20:08:19 -07:00
JonnyWong16
91cb388dcb
Don't format sort direction if not present 2021-06-18 15:02:54 -07:00
JonnyWong16
dd0e3789f6
Add SmartFilterMixin to collections and playlists 2021-06-18 14:26:48 -07:00
JonnyWong16
0b81f0887b
Add SmartFilterMixin 2021-06-18 14:24:59 -07:00
JonnyWong16
2562334ad4
Add reverseSearchType util 2021-06-18 14:21:43 -07:00
JonnyWong16
a5dfbe6eb7
Add manual viewUpdatedAt sort field for photos 2021-06-18 14:04:14 -07:00
JonnyWong16
176aa36729
Allow blank sort direction
Some sort fields don't follow the `defaultDirection` if the sort direction is not specified (e.g. `year` returns `year:asc` instead of the default `year:desc`). Allow blank `sortDir` and let the server handle it.
2021-06-18 14:03:43 -07:00
JonnyWong16
4bd550c320
Bump to 4.6.1 2021-06-15 21:37:09 -07:00
JonnyWong16
624c3f8f47
Merge pull request #778 from pkkid/account_roles
Fix for accessing Account of non Plex Pass account
2021-06-15 21:14:40 -07:00
JonnyWong16
ca06ca6011
Merge pull request #775 from JonnyWong16/bugfix/playlists
Fix playlist copyToUser
2021-06-15 21:14:32 -07:00
JonnyWong16
a2bfc9e92f
Remove manual artist last played field 2021-06-14 08:38:09 -07:00
JonnyWong16
cfefbafc93
Remove manual random sort 2021-06-14 08:37:38 -07:00
blacktwin
54ce61b006 use rtag for roles and entitlements 2021-06-14 00:58:13 -04:00
blacktwin
7678e0cfef add iter on a specific root tag in listAttrs 2021-06-14 00:57:07 -04:00
JonnyWong16
a353df1f56 Fix keyword arguments for playlist copyToUser 2021-06-07 12:00:49 -07:00
JonnyWong16
90a1cff01e
Fix return value when using USER_DONT_RELOAD_FOR_KEYS 2021-06-07 08:55:04 -07:00
JonnyWong16
754698b37b
Bump to 4.6.0 2021-06-06 20:31:13 -07:00
JonnyWong16
8ef3d0ac35
Merge branch 'master' into feature/auto_reload 2021-06-06 18:05:08 -07:00
JonnyWong16
67b3fc694a
Allow clips and extras to be streamed and downloaded 2021-06-06 17:50:35 -07:00
JonnyWong16
7ddf47c223
Add doc string for Review object 2021-06-06 17:27:02 -07:00
JonnyWong16
4d60101ab7
Remove Account settings
* Settings are only for Plex Web specific settings like remembering selected tab, poster size, etc.
2021-06-06 17:23:48 -07:00
JonnyWong16
f8c7fefd2f
Cleanup Account onlineMediaSources OptOut methods 2021-06-06 17:23:44 -07:00
JonnyWong16
1d031166fc
Cleanup movie reviews and extras 2021-06-06 17:23:34 -07:00
JonnyWong16
6f44933f5b
Clean up Extra object 2021-06-06 16:40:25 -07:00
JonnyWong16
8f2ad955ab
Merge branch 'master' into reviews_extras 2021-06-06 15:02:03 -07:00