blacktwin
c665546185
create library.Station class for stations found in music libraries
2020-06-22 15:02:48 -04:00
blacktwin
38b863b8da
correction for library.librarySection.defaultAdvanced method
2020-06-18 10:03:47 -04:00
blacktwin
9685b57ad2
importing base.PlexPartialObject and applying it to library.Collections
...
this will allow collections to use the base.PlexPartialObject.edit method
2020-06-12 14:14:09 -04:00
blacktwin
81dcd58618
add art attrib to library.Collection
...
addressing #511
2020-06-12 13:22:13 -04:00
blacktwin
59fcdb4080
add defaultAdvanced method to library.LibrarySection
2020-06-09 23:32:22 -04:00
blacktwin
7474e7d28e
add editAdvanced method to library.LibrarySection
...
addressing #450
2020-06-09 23:25:23 -04:00
blacktwin
ad55514be9
update library.LibrarySection locations attribute to use new Location class.
2020-06-09 15:56:59 -04:00
blacktwin
506a791260
create library.Location class
2020-06-09 15:56:21 -04:00
blacktwin
70dd6704be
library EOF flake fix
2020-06-06 14:15:23 -04:00
blacktwin
78656ab2a4
update to library.Collection docstring
2020-06-06 14:01:16 -04:00
blacktwin
33955472c7
adding additional attributes to library.Collection class
...
thanks @jonnyWong16
2020-06-06 14:00:44 -04:00
blacktwin
db2a210f37
adding fields attribute to library.Collections
...
reordered attributes
docstring update
2020-06-05 15:43:05 -04:00
Hellowlol
940efc0013
first pass on compat.
2020-05-12 23:15:16 +02:00
Hellowlol
f6e311f056
2nd attempt to fix title bug
2020-05-11 23:12:15 +02:00
Hellowlol
42c83aa084
Fix for library title search when special chars is used
...
fix flaky test.
2020-05-11 15:14:38 +02:00
Steffen Fredriksen
437eea8dfc
Merge pull request #466 from pkkid/batchsearch
...
Make it easier to set a container size using search
2020-05-01 21:08:51 +03:00
Hellowlol
1e77e76fb0
Add log message
...
Add some test that verify that we cant get in a enless loop and handle container_start corrently.
2020-04-29 14:42:19 +03:00
Hellowlol
5a2f14e645
Update based on comments.
2020-04-27 19:22:10 +03:00
Hellowlol
1ba8fe77f7
Add misssing docstring
...
fix comment.
2020-04-27 00:29:28 +03:00
Hellowlol
0647c714a3
only update if all is in the url
2020-04-27 00:14:00 +03:00
Hellowlol
db1f9a9b39
use cast
2020-04-27 00:05:23 +03:00
Hellowlol
66df034023
add fetchItems to library
...
use totalSize so we dont do any more http requests then needed.
2020-04-26 23:51:57 +03:00
Hellowlol
91d76a5d94
Make it easier to set a container size using search
2020-04-26 23:34:13 +03:00
Hellowlol
93dda3c9e5
reduce loglevel
2020-04-26 22:55:54 +03:00
Steffen Fredriksen
6eea7cce0f
Allow pagination ( #464 )
...
Allow pagination on fetchItems
2020-04-26 21:18:52 +02:00
Hellowlol
b01d808dc9
fix bug
2020-04-16 01:01:45 +02:00
Hellowlol
e0d5a873e1
misc fixes
2020-04-16 00:30:00 +02:00
Hellowlol
cc71daeaba
sync
2020-04-15 20:41:15 +02:00
blacktwin
3a95f55b7e
Merge pull request #410 from pkkid/new_hubs
...
new_hubs
2020-04-13 13:44:34 -04:00
blacktwin
319fe52d0a
Merge branch 'master' into poster_change
2020-04-12 23:04:19 -04:00
blacktwin
3215856eb5
add arts methods to library.Collections
2020-03-18 09:44:24 -04:00
blacktwin
d69760e3e5
fix Collection posters method's key
2020-03-18 09:39:44 -04:00
blacktwin
0b4b9c452e
update setPoster method in base, library.Collection, playlist
...
use media.Poster select method instead
2020-03-18 09:26:09 -04:00
blacktwin
53a61561b1
fix filepath in uploadPoster for Collections
2020-03-18 01:16:26 -04:00
blacktwin
dedab2b5f5
posters methods for collections
2020-03-18 00:55:38 -04:00
blacktwin
98226c044b
use server.agents() mediaType keyword to shorten code
...
Thanks @jonnywong16
2020-03-16 14:26:01 -04:00
blacktwin
cea4f1944e
add agents method to library
...
allow the searching for available agents for specific library
2020-03-16 13:54:16 -04:00
blacktwin
4a7aac16be
update LibrarySection's edit method to include agent if not provided
...
should allow for edits that are not agent changes to be easier
2020-03-16 11:56:16 -04:00
blacktwin
1d05304643
create settings method for LibrarySection
...
return current library settings
2020-03-16 11:12:28 -04:00
blacktwin
ee77bf2b9e
add key attribute to Hub class
2020-02-06 13:02:14 -05:00
Steffen Fredriksen
2a6aaac1fe
Merge pull request #404 from zSeriesGuy/SpeedUpLibraryGet
...
Speed up Library Section Get
2019-11-28 23:15:54 +01:00
Steffen Fredriksen
0a7b3ed3b3
Merge pull request #403 from zSeriesGuy/PlayHistory
...
Support history for specific ratingKeys
2019-11-28 23:15:36 +01:00
zSeriesGuy
59ce923559
Add maxResults and mindate to all history methods
2019-11-20 06:50:25 -05:00
zSeriesGuy
442c55a03a
Speed up Library Get
...
The original code pull a full list of all library items and then searched that list.
With this change, the library get uses the title as a search filter such that the returned list is much shorter.
2019-11-18 15:36:17 -05:00
zSeriesGuy
d9820775a6
Add additional histroy methods
2019-11-16 16:35:20 -05:00
blacktwin
3791708362
adding year to filters
2019-11-11 13:35:03 -05:00
blacktwin
7b7fa7a2c9
add tag filter for photos
2019-11-11 09:33:17 -05:00
Hellowlol
52833b1ebf
Fix indent and a typo
2019-09-21 22:11:57 +02:00
blacktwin
df546046d8
doctstring update
2019-09-05 08:54:07 -04:00
blacktwin
830b9ed91f
fix for modeUpdate()
...
was checking the wrong variable.
corrected raise output.
2019-07-31 16:06:49 -04:00
blacktwin
1587aa7bab
python3 compatibility for raise
...
python3 compatibility for raise
2019-07-25 15:23:51 -04:00
blacktwin
b201df061c
docstrings and better handling
...
added docstring and better handling of the parameters.
2019-07-25 15:20:27 -04:00
blacktwin
02026cc65b
Adding collection sorting
...
collectionSort to data and sortUpdate function.
2019-07-25 14:46:41 -04:00
blacktwin
9149d999e0
Add collectionMode data and modeUpdate
...
Added collectionMode to collection data.
modUpdate acts like webUI, `collection.modeUpdate(mode="default")`
2019-07-25 14:30:48 -04:00
blacktwin
baabcbceb1
update for ALLOWED_FILTERS
...
updated ALLOWED_FILTERS for Movies, Shows, and Photos sections.
2019-07-24 08:06:44 -04:00
Michael Shepanski
7f351f4a57
Merge pull request #319 from hidaba/patch-1
...
Update library.py
2019-02-11 09:17:14 -05:00
Andrey Yantsen
a28cbdc669
fix few more flake8 warnings
2019-02-07 10:25:50 +00:00
Michael Shepanski
3f6eede667
Merge branch 'master' into patch-1
2019-02-04 14:48:06 -05:00
Michael Shepanski
b9d163ab2a
Missing space.
2019-02-04 14:46:47 -05:00
tijder
abac9173f8
Function updated section all with sort
2018-12-21 20:51:39 +01:00
hidaba
73d1eec5ef
Update library.py
...
add 'year' to filter, it works
2018-11-26 12:28:14 +01:00
Josh Wood
7dbc02514c
(feat): allow MusicSection search by track.userRating and sort by userRating
2018-11-11 10:32:15 -06:00
Andrey Yantsen
7a67417615
fix docs for Raises clauses
2018-10-03 11:09:43 +01:00
Andrey Yantsen
68fc970d7a
Improvements in tests process ( #297 )
...
* lets begin
* skip plexpass tests if there is not plexpass on account
* test new myplex attrubutes
* bootstrap: proper photos organisation
* fix rest of photos tests
* fix myplex new attributes test
* fix music bootstrap by setting agent to lastfm
* fix sync tests
* increase bootstrap timeout
* remove timeout from .travis.yml
* do not create playlist-style photoalbums in plex-bootstraptest.py
* allow negative filtering in LibrarySection.search()
* fix sync tests once again
* use sendCrashReports in test_settings
* fix test_settings
* fix test_video
* do not accept eula in bootstrap
* fix PlexServer.isLatest()
* add test against old version of PlexServer
* fix MyPlexAccount.OutOut
* add flag for one-time testing in Travis
* fix test_library onDeck tests
* fix more tests
* use tqdm in plex-bootstraptest for media scanning progress
* create sections one-by-one
* update docs on AlertListener for timeline entries
* fix plex-bootstraptest for server version 1.3.2
* display skip/xpass/xfail reasons
* fix tests on 1.3
* wait for music to be fully processed in plex-bootstraptest
* fix misplaced TEST_ACCOUNT_ONCE
* fix test_myplex_users, not sure if in proper-way
* add pytest-rerunfailures; mark test_myplex_optout as flaky
* fix comment
* Revert "add pytest-rerunfailures; mark test_myplex_optout as flaky"
This reverts commit 580e4c95a7
.
* restart plex container on failure
* add conftest.wait_until() and used where some retries are required
* add more wait_until() usage in test_sync
* fix managed user search
* fix updating managed users in myplex
* allow to add new servers to existent users
* add new server to a shared user while bootstrapping
* add some docs on testing process
* perform few attemps when unable to get the claim token
* unlock websocket-client in requirements_dev
* fix docblock in tools/plex-teardowntest
* do not hardcode mediapart size in test_video
* remove cache:pip from travis
* Revert "unlock websocket-client in requirements_dev"
This reverts commit 0d536bd06d
.
* remove debug from server.py
* improve webhook tests
* fix type() check to isinstance()
* remove excessive `else` branch due to Hellowlol advice
* add `unknown` as allowed `myPlexMappingState` in test_server
2018-09-14 20:03:23 +02:00
Andrey Yantsen
54b26fdc25
Sync support ( #282 )
...
* [sync] initial commit
* fix populating of `state` field in sync.Status
* [connection] add posibliity to return first established connection faster
* [base] add timeout argument to PlexObject.fetchItems()
* [sync] add timeout arg to SyncItem.getMedia()
When you have multiple media within one SyncItem it takes a lot of time
to get all the info for this media (on my machine it takes about a
second for each movie).
* [sync] fix marking media as downloaded
* [sync] pass clientIdentifier to created SyncItem()
* [sync] override __repr__() for sync.Status
* fix after @mikes-nasuni`s review
* fix python2 compatibility
* get rid of sync.init()
* use list comprehension
* remove timeout from PlexObject.fetchItems()
* fix SyncItem under python 2.7
* fix __doc__ in sync module
* revert myplex._connect() back to it`s original state
* improve sync docs
* get rid of PlexObjects where not needed
* add X-Plex-Sync-Version=2 to headers
* add sync() method into Video, LibrarySection and MyPlexAccount
* add SyncItem.delete()
* add sync.Policy.create()
* use self._default_sync_title instead of _prettyfilename as default title
* let the tests begin
* add items for refreshing synclists to PlexServer
* fix sync tests
* sync for everybody!
* add TODO doctring for Audio._defaultSyncTitle()
* SyncItems tag may be presented only once, there is no need for loop
* add more TODO docstrings
* hello docs
* remove relative import
* remove unused variable from tests/test_sync.py
2018-09-08 17:25:16 +02:00
Hellowlol
725bea090f
Minor stuff.
2018-04-15 21:05:05 +02:00
Nicholas Totsch
b06c417706
Added cast/todatetime and missing minYear
2018-04-10 13:58:51 -05:00
Nicholas Totsch
4e27f6d8a8
Flake8 Fix
2018-04-10 12:24:39 -05:00
Nicholas Totsch
981e965e1f
Added class/libtype for collections and library search function
2018-04-10 12:14:57 -05:00
Hellowlol
480f5a2d52
empty trash is a put in plex web.
2017-11-25 00:48:32 +01:00
Craig Hamilton
d8368f769e
Add label to the list of acceptable filters for MovieSection and ShowSection
...
This allows searching using the sharing labels.
2017-10-08 21:45:58 +11:00
Hellowlol
b385b7626b
Find duplicates of episodes.
2017-10-03 20:41:44 +02:00
adam
17532a8f7d
Add guid to LibrarySection filters for Movie, Show
2017-09-29 17:45:57 +02:00
Bryan Stitt
5c7e138b2e
Add mood to MusicSection.ALLOWED_FILTERS
2017-08-29 15:37:48 -07:00
Michael Shepanski
1159edc422
Fix but in plex-markwatched script
2017-08-14 22:55:54 -04:00
Michael Shepanski
624afd7082
Move share into MyPlexAccount.inviteFriend; Add abilities inviteFriend, updateFriend, RemoveFriend
2017-05-26 22:35:33 -04:00
Michael Shepanski
6bb18843d7
Fix a few tests
2017-04-29 02:21:20 -04:00
Michael Shepanski
7ec909dce6
Finish generic tests; a few things to polish before merge
2017-04-23 01:18:53 -04:00
Michael Shepanski
0e220f2e7d
Cleanup long doc string long lines
2017-03-21 23:04:23 -04:00
Hellowlol
421dcd7bcf
Add share. works missing docs
2017-03-06 23:18:10 +01:00
Hellowlol
9d0126f808
add docs
2017-03-05 23:16:06 +01:00
Hellowlol
70fce72f44
more dosc.
2017-03-03 23:32:16 +01:00
Hellowlol
167939173f
flake fixes
2017-02-28 22:30:34 +01:00
Hellowlol
cfae507471
Fix test.
2017-02-27 23:20:10 +01:00
Hellowlol
db3b729360
one step closer with the test.
2017-02-27 23:16:02 +01:00
Hellowlol
ff4b1010a9
Add edit/add library.
2017-02-27 22:04:37 +01:00
Hellowlol
cb66c93354
inital lib
2017-02-27 13:23:35 +01:00
Michael Shepanski
cd1a05d770
Make flake8 happy
2017-02-20 00:37:00 -05:00
Michael Shepanski
228f049190
Pluralize function name; Its more clear more than one thing is being deleted
2017-02-19 22:51:17 -05:00
Hellowlol
73109d0e9e
add deleteMediaPreview
2017-02-18 22:12:43 +01:00
Michael Shepanski
db9c8f42f7
Cleanup docstrings
2017-02-14 23:22:57 -05:00
Michael Shepanski
e74c79d344
Merge branch '3.0.0' into fixds
2017-02-14 23:16:58 -05:00
Hellowlol
9dc7c30e5f
refresh now correctly redownload all metadata from the interwebz
...
update scans the library for new media files.
2017-02-14 23:36:21 +01:00
Michael Shepanski
de69ace19f
Go over documentation a bit more; This will never end.
2017-02-13 23:32:27 -05:00
Michael Shepanski
c0958a0edc
only auto-connect to clients is baseurl and token passed
2017-02-13 01:37:23 -05:00
Michael Shepanski
44677e59a6
Merge dev
2017-02-12 22:38:56 -05:00
Michael Shepanski
4b8f82291b
Remove findLocations util function
2017-02-12 22:15:47 -05:00
Michael Shepanski
9b791b95e7
Add TAG constant to PlexObjects; Better method to save and build PLEXOBJECTS; All objects in media.py are now registered and can be looked up; Remove __len__ on Library class (it was causing URL to load twice).
2017-02-12 21:55:55 -05:00
Hellowlol
b37e7fefeb
Fix test_video.py::test_video_Show_section
...
remove untrue comment
2017-02-11 00:32:51 +01:00
Hellowlol
b995deab05
forgot a pragma
2017-02-11 00:16:34 +01:00
Hellowlol
6be7fa8a29
Add delete
...
Supports media elements and librarys
2017-02-11 00:16:23 +01:00
Michael Shepanski
08e61960e7
Move common methods to PlexPartialObject; More documentation
2017-02-09 15:01:23 -05:00
Michael Shepanski
6fa7c12c48
Implement fetchItem filters; All tests passing?
2017-02-09 01:54:38 -05:00
Michael Shepanski
5443711b90
Make _query and _url public methods since we use it as such
2017-02-08 23:29:17 -05:00
Michael Shepanski
83a8c5733e
Rename _root back to _server but keep it private
2017-02-08 23:13:54 -05:00
Michael Shepanski
76c0cb55a1
Rename variable to kwargs
2017-02-08 23:08:25 -05:00
Michael Shepanski
f676d4cbbf
Most tests passing; Need to add better filters on fetchItems for watched / unwatched
2017-02-08 02:00:43 -05:00
Michael Shepanski
8212ca9c46
Much more stability from yesterday; Easier to use fetchItem funtions; Common __repr__ for all plexobjects; Fix all uses if listItems
2017-02-07 01:20:49 -05:00
Michael Shepanski
4624512356
A few more updates to get plexattrs.py fully running
2017-02-06 01:28:58 -05:00
Michael Shepanski
6a35f50a43
CHECKPOINT: Lots going on; Added new base class PlexObject that everything inherits from, this ensures all constructors are similar; Lots of work on new tool plexattrs that parses a full Plex library to find differences in attributes plexapi implements and what the Plex XML API offers up; Tests will most definetly be broken at this point, but I wanted to save my work.
2017-02-05 23:52:10 -05:00
Michael Shepanski
065a753d77
Merge branch 'master' of github.com:mjs7231/python-plexapi
2017-02-04 03:09:04 -05:00
Michael Shepanski
6e893d8fbf
Started work on script to analyze Plex attributes with what we defined in plexapi so we can easily find mismatches
2017-02-04 03:08:47 -05:00
Michael Shepanski
a2cdc97453
Fix tests; comment out a few that were breaking because of timezone aware datetimes; Perhaps converting datetimes to timestamps then comparing the int values will be more reliable.
2017-02-03 11:39:46 -05:00
Michael Shepanski
0e7a158836
Cleanup HubSearch code a bit (contribution is awesome); Add a whole bunch of new attributes to server.Server object; Finish documenting server.py
2017-02-03 01:29:19 -05:00
Michael Shepanski
f479b8453b
Merge branch 'master' into hub
2017-02-02 22:23:46 -05:00
Michael Shepanski
cec0ab07e8
Cleanup formatting
2017-02-01 22:53:05 -05:00
Hellowlol
d19d602455
revert NA to _NA so its still compat with the tests.
...
- this allows for casting str and check for __NA__ in addition to is
instance.
- some indentation fixes
2017-02-01 22:32:00 +01:00
Hellowlol
e06f6250a3
mroe cov
2017-02-01 20:55:08 +01:00
Hellowlol
7e9bd51d55
testing testing, 1, 2, 3.
2017-02-01 20:41:20 +01:00
Michael Shepanski
5f9c230dce
Add missing swigglies
2017-01-30 23:48:21 -05:00
Michael Shepanski
04251d3805
Finish documenting Photo; Monkey-patch sphinx to not auto-link to unknown types; Remove links to ElementTree (not our code)
2017-01-30 23:44:03 -05:00
Michael Shepanski
355f4686c9
Finish documenting utils.py
2017-01-26 00:25:13 -05:00
Michael Shepanski
b61d1888b4
Finished documenting library.py
2017-01-25 23:21:13 -05:00
Hellowlol
1abb1456f8
Inital hub.
2017-01-04 00:00:28 +01:00
Hellowlol
e94c92bada
fix my mess.
2017-01-02 23:38:19 +01:00
Hellowlol
3aa4208d8b
fix rebase
2017-01-02 22:19:07 +01:00
Hellowlol
42003d61bd
fix a small bug, start on docs strings
2016-12-16 00:06:12 +01:00
Michael Shepanski
3d28b5309e
Recently added is missing from LibrarySection #58
2016-05-23 21:41:02 -04:00
Michael Shepanski
1a679411dc
Ability to list all albums; Fix setting object values when not found (NA) and we know its the full object
2016-04-12 22:47:46 -04:00
Michael Shepanski
748fc68406
Cleanup playlist support; Fix UUID on URLs; Better method to store listTypes; Cache section IDs in library
2016-04-11 22:43:21 -04:00
Michael Shepanski
09a7ae80db
Basic support for photos complete
2016-04-09 23:59:47 -04:00
Michael Shepanski
81e22147c0
Get examples working again; Add new examples most_streamed_titles and most_active_users
2016-04-07 22:48:45 -04:00
Michael Shepanski
80529a21c7
Rename MyPlexUser to MyPlexAccount; Add support for real MyPlexUsers; Add api for history; New tests for sessions() and history()
2016-04-07 01:39:04 -04:00
Michael Shepanski
7bb700d395
New test for client.timeline(); Fix bug in missing proper headers for timeline
2016-03-31 23:39:09 -04:00
Michael Shepanski
7bce1c4b32
Add note to library.search() that its basically not tested.
2016-03-31 18:39:08 -04:00
Michael Shepanski
d63339bd24
Cleanup search a bit; Get existing tests passing and add a few new search tests
2016-03-31 18:36:54 -04:00
Michael Shepanski
b10faf8560
Checkpoint: New implementation for search
2016-03-31 16:52:48 -04:00
Michael Shepanski
d4e8bdba70
Checkpoint: Adding Audio support; Cleanup attribute definitions to only include what the Plex objects actually include.
2016-03-21 00:26:02 -04:00
Michael Shepanski
2e2ea93982
Cleanup imports; force registration of audio/video libtypes
2016-03-17 01:14:31 -04:00
Michael Shepanski
276ba26b77
Create registry of library items we may see in xml; Cleanup how we handle build_item and list_items
2016-03-17 00:51:20 -04:00
Michael Shepanski
fd83cbab8a
Cleanup Audio/Video search at the server & library level. Start testing audio a bit more
2016-03-15 14:36:59 -04:00
Michael Shepanski
4399bc6190
Minor cleanup after merging pull request
2016-03-14 22:20:02 -04:00
Håvard Gulldahl
668d5f67f1
Flesh out a .search() method for the MusicSection
...
This is more of a hack than a long run solution. We really should merge
the video and audio search code paths.
2016-01-19 11:58:10 +01:00
Håvard Gulldahl
9896965efa
Remember to import new audio class in libary.py
2016-01-19 11:57:20 +01:00
Håvard Gulldahl
a50c9457af
Rename .search() to .searchVideo, but keep the API for now
...
getting ready to add code to search both video and audio, but keep old
functionality intact for now
2016-01-19 10:53:10 +01:00
Håvard Gulldahl
9ca97c5fac
Add searchAudio() method to Library
...
It will only search for audio content (Track, Album, Artist)
2016-01-19 10:50:31 +01:00
Håvard Gulldahl
1e28eebbf6
Add MusicSection,
...
with .search(), .searchAlbums() and .searchTracks() methods
2016-01-19 10:41:12 +01:00
Toomas Uudisaru
a03d67cfb4
Python3 fixes / urllib, printing, dict access
...
Python 3 fixes (compatible with Python 2):
- use urllib.parse module for quote() and urlencode() instead of urllib
- printing using parenthesis
- dict access: items() instead of iteritems(), keys() converted to list
- filter(): convert results to list
2015-09-05 17:09:15 +03:00
Michael Shepanski
433e0a18b4
Add support for SSL
2015-06-08 12:41:47 -04:00
Michael Shepanski
43e99e94ef
Read all headers, logging, and core settings from config file; Add Show.refresh() method
2015-06-01 22:28:50 -04:00
Michael Shepanski
699843f150
Updates to work with Python3
2015-02-17 15:35:17 -05:00
Michael Shepanski
352696147e
Move from Bitbucket
2014-12-28 22:21:58 -05:00