Commit graph

2467 commits

Author SHA1 Message Date
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
da033aa7d0
Update history tests (#1374)
* Update history tests

* Update episode directors attribute test
2024-03-15 20:21:23 -07:00
JonnyWong16
abcab4f78d
Release 4.15.10 2024-02-17 14:57:59 -08:00
dependabot[bot]
67e9d37f78
Bump tqdm from 4.66.1 to 4.66.2 (#1364)
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.1 to 4.66.2.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.1...v4.66.2)

---
updated-dependencies:
- dependency-name: tqdm
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-17 14:50:28 -08:00
Elan Ruusamäe
9a541771f5
Remove leftover "syntax: glob" from Mercurial migration (#1363)
See 35269614 commit

And stackoverflow post:
- https://stackoverflow.com/questions/56010229/what-does-syntax-glob-regexp-mean-in-a-gitignore-file/56010335#56010335
2024-02-17 14:42:29 -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
6e4ef6bae6
Update history tests (#1366) 2024-02-17 14:05:34 -08:00
JonnyWong16
b51aa1924b
Release 4.15.9 2024-02-04 20:41:50 -08:00
JonnyWong16
e161ce69d9
Fix no timeout argument for gdm.scan() (#1356) 2024-02-04 20:34:39 -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
dependabot[bot]
4d017363d0
Bump nick-fields/retry from 2.9.0 to 3.0.0 (#1352)
Bumps [nick-fields/retry](https://github.com/nick-fields/retry) from 2.9.0 to 3.0.0.
- [Release notes](https://github.com/nick-fields/retry/releases)
- [Changelog](https://github.com/nick-fields/retry/blob/master/.releaserc.js)
- [Commits](https://github.com/nick-fields/retry/compare/v2.9.0...v3.0.0)

---
updated-dependencies:
- dependency-name: nick-fields/retry
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 12:29:31 -08:00
dependabot[bot]
07de1e2e63
Bump actions/cache from 3 to 4 (#1346)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 12:29:23 -08:00
dependabot[bot]
be9375adf4
Bump pytest from 7.4.3 to 8.0.0 (#1349)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.3 to 8.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.3...8.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 11:51:24 -08:00
dependabot[bot]
eb9ead4f29
Bump flake8 from 6.1.0 to 7.0.0 (#1334)
Bumps [flake8](https://github.com/pycqa/flake8) from 6.1.0 to 7.0.0.
- [Commits](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 11:51:18 -08:00
dependabot[bot]
08033e1276
Bump pillow from 10.1.0 to 10.2.0 (#1331)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.1.0 to 10.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.1.0...10.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 11:31:16 -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
ReenigneArcher
097b989fab
fix(scripts): offset butler tasks to reduce ci random failures (#1320)
* fix(scripts): offset butler tasks to reduce ci random failures

* Apply suggestions from code review

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

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2024-02-04 10:50:31 -08:00
JonnyWong16
768aa58c90
Adds 2FA code input to tools/plex-gettoken.py (#1319)
* Use getpass for password input

* Add 2FA code input
2024-02-04 10:49:55 -08:00
JonnyWong16
4780026a73
Release 4.15.7 2023-12-22 16:45:20 -08:00
dependabot[bot]
04f6034fa4
Bump actions/download-artifact from 3 to 4 (#1314)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 13:45:07 -08:00
dependabot[bot]
9538fc0bad
Bump actions/upload-artifact from 3 to 4 (#1315)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 13:44:54 -08:00
dependabot[bot]
dbe3f7127b
Bump github/codeql-action from 2 to 3 (#1313)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 13:23:21 -08:00
dependabot[bot]
202ca511ef
Bump actions/setup-python from 4 to 5 (#1312)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 13:23:00 -08:00
dependabot[bot]
db19b7b891
Bump websocket-client from 1.6.4 to 1.7.0 (#1311)
Bumps [websocket-client](https://github.com/websocket-client/websocket-client) from 1.6.4 to 1.7.0.
- [Release notes](https://github.com/websocket-client/websocket-client/releases)
- [Changelog](https://github.com/websocket-client/websocket-client/blob/master/ChangeLog)
- [Commits](https://github.com/websocket-client/websocket-client/compare/v1.6.4...v1.7.0)

---
updated-dependencies:
- dependency-name: websocket-client
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 13:22:52 -08:00
dependabot[bot]
7fead16fa3
Bump sphinx-rtd-theme from 1.3.0 to 2.0.0 (#1309)
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.3.0 to 2.0.0.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.3.0...2.0.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 13:22:45 -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
ReenigneArcher
b0ac5ea705
docs: update butler tasks info (#1310) 2023-12-22 12:49:53 -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
46c20a598f
Fix building documentation (#1300) 2023-11-14 16:15:39 -08:00