Commit graph

181 commits

Author SHA1 Message Date
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
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
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
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
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
caca24f10f
Add MediaPartStream.languageTag attribute (#959)
* Add `MediaPartStream.languageTag` attribute

* Add `languageTag` to tests
2022-07-20 19:06:06 -07:00
JonnyWong16
ae78557931
Fix show studio test (#979) 2022-07-20 17:00:55 -07:00
JonnyWong16
f361b29973
Fix movie year test (#967) 2022-06-20 09:01:27 -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
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
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
76caa1d95e
Fix episode writers test (#938) 2022-05-16 11:45:27 -07:00
JonnyWong16
26671ec0b1
Fix movie tagline test (#927) 2022-04-07 09:58:06 -07: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
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
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
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
JonnyWong16
a9ffd1e738
Fix image mixins tests (#856)
* Unlock images after edit image test

* Enable playlist art mixins tests

* Mark all image mixins tests as xfail

* Changing images can fail randomly
2021-11-20 17:14:34 -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
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
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
JonnyWong16
3bebeaacd5
Add tests for Plex Web URLs 2021-08-25 18:10:11 -07: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
40c22711a6
Fix updateProgress and updateTimeline tests milliseconds 2021-07-04 21:32:58 -07:00
JonnyWong16
c136c594ea
Mark online media sources tests with xfail
* Test account is missing online media sources?
2021-06-06 18:39:45 -07:00
JonnyWong16
6405d226a4
Mark movies extras test only available for Plex Pass 2021-06-06 17:33:08 -07:00
JonnyWong16
0626334ed5
Add tests for movie augmentation, reviews, and extras 2021-06-06 17:23:49 -07:00
JonnyWong16
f90698f69d
Merge pull request #764 from JonnyWong16/feature/rating_mixin
Add rating mixin
2021-06-06 14:32:57 -07:00
JonnyWong16
f39d9b78ad
Merge remote-tracking branch 'upstream/master' into bugfix/fix_tests 2021-06-06 14:18:26 -07:00
JonnyWong16
e965ebbbe6
Merge remote-tracking branch 'upstream/master' into feature/rating_mixin 2021-06-06 12:54:09 -07:00
JonnyWong16
dbd39abb65
pytest mark xfail show mixins image test 2021-05-30 18:31:31 -07:00
JonnyWong16
b269140943
Fix rating mixin tests 2021-05-30 16:22:54 -07:00
JonnyWong16
bd8cdb10b7 Update tests for ratings mixin 2021-05-30 15:49:45 -07:00
JonnyWong16
b19b469eb0
Update pytest fixtures 2021-05-29 16:57:42 -07:00
JonnyWong16
c76b2d4027
Merge remote-tracking branch 'upstream/master' into feature/multi_sort 2021-05-23 20:39:08 -07:00
JonnyWong16
a9597a9008
Merge remote-tracking branch 'upstream/master' into feature/plex_tv 2021-05-23 19:12:38 -07:00
JonnyWong16
c4522d9c6b
Merge pull request #746 from JonnyWong16/feature/properties
Add episodeNumber, trackNumber, and hasPreviewThumbnails helper properties
2021-05-23 19:02:20 -07:00
JonnyWong16
8c2b3ce063
Merge pull request #741 from JonnyWong16/feature/tag_items
Add ability to retrieve a list of items and collection object from media tags
2021-05-23 19:01:07 -07:00
JonnyWong16
893a992855
Merge pull request #739 from Alindil/patch-2
Add method to return a list of all optimized items
2021-05-23 19:00:25 -07:00
JonnyWong16
85e58feb33
Update tests for lastRatedAt 2021-05-15 22:38:54 -07:00
JonnyWong16
a8e8679fb5
Update tests for optimized items 2021-05-14 16:29:44 -07:00
JonnyWong16
0f861391b6
Remove banners from tests
* Banners are not supported anymore. https://forums.plex.tv/t/bug-cannot-upload-background-artwork-for-episodes/692999/8
2021-05-11 15:44:36 -07:00
JonnyWong16
fe42061ce1
Add tests for hasPreviewThumbnails properties 2021-05-10 18:13:47 -07:00
JonnyWong16
ac7becd27f
Add tests for episodeNumber and trackNumber properties 2021-05-10 18:13:31 -07:00
JonnyWong16
aeadd76f9f
Fix tests for Plex TV Series agent 2021-05-09 22:05:54 -07:00
JonnyWong16
ec60eeea44
Update tests for new Plex TV agent 2021-05-09 21:28:17 -07:00
JonnyWong16
71e7ee2660
Add tests for media tags 2021-05-09 20:03:12 -07:00