Commit graph

1612 commits

Author SHA1 Message Date
JonnyWong16
2142514955
Add support for editing audience ratings and critic ratings (#1417)
* Add support for editing audience ratings and critic ratings

* Note: Not all types of ratings are supported/shown in the Plex UIs. However they can be edited/updated and stored in the Plex Media Server database.

* Add tests for editing audience rating and critic rating
2024-05-18 12:16:49 -07:00
JonnyWong16
7b317ef822
Update default language for library add (#1416)
* Update default language for library add

* Add explicit photo library language to bootstrap server
2024-05-18 12:16:18 -07:00
Jam
5e6db51f53
(Temporary Fix) Changed friends route to the v2 sharings route (#1413) 2024-05-18 11:50:29 -07:00
JonnyWong16
bbdb238583
Allow adding items from different server to playlist (#1411) 2024-05-11 09:37:22 -07:00
jjlawren
76ca35219a
Fix escape sequence in docstring regex (#1404) 2024-04-22 20:57:49 -07:00
JonnyWong16
39e0223c84
Release 4.15.12 2024-04-19 13:19:08 -07:00
Dr.Blank
25fa930c61
Fix: Bug introduced in #1373 list has not attr tag (#1396)
* regression test for https://github.com/Taxel/PlexTraktSync/discussions/1901

* bugfix https://github.com/Taxel/PlexTraktSync/discussions/1901
2024-04-19 12:42:16 -07:00
zhu0823
0108c95bd8
feat: Add params parameter to request (#1395)
* feat: Add params parameter to request

* Update plexapi/base.py

Co-authored-by: Dr.Blank <64108942+Dr-Blank@users.noreply.github.com>

---------

Co-authored-by: 朱校明 <zhuxiaoming@dstcar.com>
Co-authored-by: Dr.Blank <64108942+Dr-Blank@users.noreply.github.com>
2024-04-19 12:00:24 -07:00
JonnyWong16
d9be0e6f06
Revert "addToWatchlist raise NotFound exception for invalid media (#1401)" (#1402)
This reverts commit bf925c60e1.
2024-04-19 11:18:25 -07:00
Touchstone64
3e752d5f27
Fix: stop maxresults from overwriting previous results #1393 (#1394)
* Fix: stop maxresults from overwriting previous results

* Added test for use of maxresults in fetchItems #1393

* Removed the need for last_container_size #1393

* Renamed collections to better represen what is being tested

* Renamed collections to better represent what is being tested #1393

* Update tests/test_library.py with cleaner test

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

---------

Co-authored-by: Graham Thompson <graham.c.thompson@gmail.com>
Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2024-04-19 10:57:54 -07:00
JonnyWong16
bf925c60e1
addToWatchlist raise NotFound exception for invalid media (#1401) 2024-04-19 10:52:19 -07:00
JonnyWong16
991c5e303e
Release 4.15.11 2024-03-31 16:00:48 -07:00
Dr.Blank
b836d24226
MediaContainer class is now a list (#1373)
* MediaContainer class is now a list

- can now support totalSize as returned from server

* add tests for media container

* Update MediaContainer attributes if previously None when extending
2024-03-31 15:48:24 -07:00
blacktwin
5b5d4c66ab
Fix Library.add() method to properly apply advanced settings (#1384)
* Fixing how advanced settings params are set and adding a prefix & when appending advanced settings. Update parts append to use f-string

* Adding basic test to include Advanced settings.

* lint fix

* fix failing test

* lint fix in test

* Update test_library.py

Add section deletion after testing
2024-03-31 15:40:17 -07:00
Fletcher
b7f2913fbc
Fix typo in getGuid docstring cache example (#1381) 2024-03-16 15:18:25 -07:00
JonnyWong16
642ba8ba12
Allow exclude parameters in reload kwargs (#1378)
* Allow exclude parameters in reload

* Add test for reload kwargs
2024-03-16 15:18:14 -07:00
Elan Ruusamäe
b494e8e2f1
Fix: Raise an exception when trying to create a smart collection/playlist with items (#1377)
* Disallow using smart playlist with items

* Change exception message

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

* Also check for state when creating collections

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2024-03-16 15:17:40 -07:00
JonnyWong16
f779ed76e8
Fix escape characters in fetchItems doc string (#1370) 2024-03-16 15:03:55 -07:00
JonnyWong16
0601aaa40e
Add helper object to retrieve PlexObject (#1369) 2024-03-16 15:03:44 -07:00
Dr.Blank
7802b79d30
feat: Add sonicAdventure method to MusicSection (#1361)
* Add sonicAdventure method to MusicSection

* satisfy flake8

* sonicAdventure accepts Track as param

* test with both types for sonicAdventure

* Add authentication to recently added music test

* Fix test_library.py to include missing newline character

* Add sonicAdventure method to Track class

* fix doc as suggested

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

* fix bound on sonicAdventure method

- add type to docstr

* Apply suggestions from code review

- pass in plexpass account to tests

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

* make tests pass on bootstrap

- still asserts it is an iterable
- still checks all elements are tracks
- in case no adventure found, does not fail

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2024-03-16 15:03:36 -07:00
JonnyWong16
abcab4f78d
Release 4.15.10 2024-02-17 14:57:59 -08:00
Dr.Blank
cfce82af34
Fix class reference in fetchItems method (#1362) 2024-02-17 14:41:53 -08:00
Elan Ruusamäe
4b67b4db5c
Lowercase input of istartswith/iendswith (#1359)
To be symmetric with other case insensitive methods
that lowercase both operands in comparison
2024-02-17 14:35:53 -08:00
Elan Ruusamäe
7c99d4af05
Breaking: Change regex/iregex to use re.search instead of re.match (#1358)
* Change regex/iregex to use re.search instead of re.match

This is BREAKING CHANGE

* Also cast to bool.

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

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2024-02-17 14:35:25 -08:00
JonnyWong16
26447d1931
Add exception for two-factor required (#1357)
* Add exception for two-factor required

* Update tools/plex-gettoken.py with 2FA exception
2024-02-17 14:34:43 -08:00
Dr.Blank
41f6b9cf93
Refactor attribute filtering in PlexObject class (#1341)
* Refactor attribute filtering in PlexObject class

- minor performance imporvement

* Update plexapi/base.py

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

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2024-02-17 14:16:21 -08:00
Elan Ruusamäe
9d9dca8f44
Feature: Add source property to playlist items to support remote playlist entries (#1335)
* Add source property to Video

A Playlist entry if added a remote server item has field "source" initialized with value like `server://<server_id>/com.plexapp.plugins.library`

* Add source to Episode

* Fix flake8 error

E261 at least two spaces before inline comment

* Add source to Track

* Add source to Photo

* Rename the field to sourceURI

* Update plexapi/audio.py

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

* Update plexapi/photo.py

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

* Update plexapi/video.py

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

* Update plexapi/video.py

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

* Fix flake line length issue

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2024-02-17 14:16:10 -08:00
JonnyWong16
284a5773e3
Add genres attribute to Track (#1318)
* Add genres attribute to Track

* Test track genres

* Add GenreMixin to Tracks

* Add test for editing track genre
2024-02-17 14:11:07 -08:00
JonnyWong16
b831aaeb48
Add slug attributes to Movie, Show, Season, and Episode (#1317)
* Add slug attributes to videos

* Add tests for slug attributes
2024-02-17 14:10:45 -08:00
JonnyWong16
b51aa1924b
Release 4.15.9 2024-02-04 20:41:50 -08:00
JonnyWong16
a85291e933
Add convenience method to return filter choice items (#1353)
* Add convenience method to return filter choice items

* Add test for filter choice items
2024-02-04 20:34:29 -08:00
JonnyWong16
36cbcd0a1c
Add weakref to parent for PlexClient (#1355) 2024-02-04 20:34:16 -08:00
JonnyWong16
fb1ce365a5
Release 4.15.8 2024-02-04 12:31:09 -08:00
Elan Ruusamäe
019d3b8c68
Fix: Update guid filter examples for fetchItems (#1350)
* Update imdb guid filter with full agent name

it does not work otherwise like "^" anchor is used in the filter

* Add legacy imdb tt* for imdb to guid filter

* Add new agent Guid tag filtering example

* Add themoviedb prefix as well
2024-02-04 11:24:21 -08:00
Dr.Blank
fe648f6382
bugfix: pass existing filters for albums method of Artist (#1347)
* bugfix: pass existing filters for `albums` method of `Artist`

* add test for bugfix
2024-02-04 11:23:56 -08:00
Dr.Blank
ba384e0be5
Refactor cast function in utils.py (#1340)
- less indentation, more readable code
- early return
2024-02-04 11:22:37 -08:00
JonnyWong16
d9539a357d
Add SplitMergeMixin to Album (#1339) 2024-02-04 10:53:08 -08:00
JonnyWong16
dfc54718d1
Fix MyPlexPinLogin doc strings (#1336) 2024-02-04 10:52:51 -08:00
JonnyWong16
654ed506f4
Also catch ValueError when converting timestamp to datetime (#1329) 2024-02-04 10:52:34 -08:00
JonnyWong16
e3d90a5945
Simplify building MediaPartStream objects (#1328)
* Simplify MediaPart._buildStreams

* Remove isChildOf check for photo and track attributes

* Add parent object when automatically building PlexObject

* Remove check of track only attribute in tests
2024-02-04 10:52:19 -08:00
JonnyWong16
b3ef1c22dd
Add warning for ambiguous library title (#1327) 2024-02-04 10:51:48 -08:00
Elan Ruusamäe
8bb9f5f213
Use 4k chunk size (powers of 2) for download (#1326) 2024-02-04 10:50:50 -08:00
JonnyWong16
4780026a73
Release 4.15.7 2023-12-22 16:45:20 -08:00
JonnyWong16
d4426dab86
Add support for on-demand subtitles (#1305)
* Add support for on-demand subtitle search

* Clean up uploadSubtitles and removeSubtitles methods

* Add test for on-demand subtitles

Account is required for on-demand subtitles

* Add hearingImpaired and perfectMatch to SubtitleStream attributes

* Update subtitle score doc string

The score is the OpenSubtitles download count

Ref: https://forums.plex.tv/t/subtitle-search-update-opensubtitles/862746
2023-12-22 13:13:04 -08:00
iDentitY4
189175150f
Fix subtitleLanguage attribute (#1308) 2023-12-22 12:49:44 -08:00
JonnyWong16
ca13bcaf45
Remove DeprecationWarning for watched methods (#1306)
* Remove deprecation warnings for watched

* Test alias watched methods
2023-12-22 12:48:56 -08:00
JonnyWong16
1c591f6438
Guard against None parentIndex (#1304)
https://github.com/pkkid/python-plexapi/pull/1251#discussion_r1394134558
2023-12-22 12:33:41 -08:00
JonnyWong16
f7522afd6b
Add lyricStreams() convenience method (#1303)
* Move videoStreams, audioStreams, lyricStreams to Playable

* Add lyricStreams to Playable

* Simplify returning list of streams

* Add test for track.lyricStreams()
2023-12-22 12:33:27 -08:00
JonnyWong16
c801268057
Release 4.15.6 2023-11-13 11:10:20 -08:00
JonnyWong16
3549902313
Fix flake8 #1295 (#1297) 2023-11-13 11:05:12 -08:00