Commit graph

2508 commits

Author SHA1 Message Date
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
ReenigneArcher
0708821566
test: fix test_audio_Audio_sonicallySimilar authenticated test (#1298)
* test: fix test_audio_Audio_sonicallySimilar authenticated test

* Update tests/test_audio.py

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

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2023-11-14 16:15:30 -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
Tom Niget
3653a156db
doc: fix documentation for BaseResource.provider (#1295) 2023-11-13 10:56:40 -08:00
ReenigneArcher
e0a425fdcb
feat: add PlexPartialObject.isLocked method (#1293)
Co-authored-by: JonnyWong16 <9099342+jonnywong16@users.noreply.github.com>
2023-11-13 10:56:30 -08:00
ReenigneArcher
70b126f477
style(typehints): replace string typehints (#1289)
* style(typehints): replace string typehints

* style: revert variable type hint removal
2023-11-13 10:48:04 -08:00
Dr.Blank
9e8fcb5fa6
Add sonicallySimilar method to Audio class (#1288)
* Add sonicallySimilar method to Audio class

closes #1183

* Add type hinting for method

- fixes import error

* Apply review suggestions

Co-Authors @JonnyWong16

* Add optional parameters to sonicallySimilar method

- makes it so that params can be None and use the server default

* add test for `sonicallySimilar`

* Refactor test to check type of elements

* Apply suggestions

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

* Add authentication to sonicallySimilar test in
test_audio.py

* fix flake8

---------

Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com>
2023-11-13 10:47:48 -08:00
JonnyWong16
2f888dfcfb
Check edit tags is a list (#1287)
Libraries have a `collections()` method which has the same name as media's `collections` attribute.
2023-11-13 10:41:13 -08:00
ReenigneArcher
799e5c690b
tests: improve audio tests (#1294) 2023-11-13 10:35:36 -08:00