Commit graph

350 commits

Author SHA1 Message Date
Michael Shepanski
36b5d12a19 Add back missing index value from Show,Season,Episode; Make season numbers a bit easier to fetch 2016-05-19 23:42:06 -04:00
Michael Shepanski
5701af7ed4 Ability to play playlists 2016-04-13 22:36:12 -04:00
Michael Shepanski
ba9eab0229 Minor bugfixes 2016-04-12 23:52:47 -04:00
Michael Shepanski
e5fc43a85f Fix thing I broke 2016-04-12 23:26:04 -04:00
Michael Shepanski
c75db1df10 Fix broken utils.searchType() 2016-04-12 22:55:45 -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
3138ad1087 Added playlist support 2016-04-10 23:49:23 -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
610bf16ce3 Client control via proxy working; Re-enable control via proxy tests 2016-04-05 23:32:49 -04:00
Michael Shepanski
a30f9a73a5 Add comments 2016-04-05 22:30:18 -04:00
Michael Shepanski
50ac2f55e5 Create Playable object to put function specific to media that is playable like getStreamURL etc.. 2016-04-03 23:55:29 -04:00
Michael Shepanski
e81f2506e9 Move _find function from PlexPartialObject to generic utility functions 2016-04-03 23:17:29 -04:00
Michael Shepanski
3889c49b30 Add new missing items to MyPlexAccount 2016-04-03 22:46:25 -04:00
Michael Shepanski
84a6999ed7 Ability to directly create a PlexClient object (without needing a PlexServer object); Cleaned up MyPlex code; Removed duplicated Client navigation code from myplex (everything uses PlexClient now) 2016-04-02 02:19:32 -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
03469a7f55 Cleanup playback commands; Remove proxy tests, it needs a bit more expirimentation 2016-03-24 22:36:25 -04:00
Michael Shepanski
b277facf10 Revisit client code; Add more testing around clients; Still cant get playback working through server proxy, but it works directly 2016-03-24 02:20:08 -04:00
Michael Shepanski
fbaa89933e I missed deleting an old occurance of getStreamURL 2016-03-22 23:42:04 -04:00
Michael Shepanski
bcf01fdcdf Move getStreamURL to PlexPartialObject; Remove duplicated code; Add getStreamURL tests (doesnt actualy test the stream works tho) 2016-03-22 23:38:06 -04:00
Michael Shepanski
a0cfaafb68 Initial cleanup of playlist support; getStreamURL not working; Needs tests 2016-03-21 23:52:58 -04:00
Michael Shepanski
5763db2c4d Merge dev 2016-03-21 23:19:52 -04:00
Michael Shepanski
a999df8e94 Audio support complete; Added more audio tests; renamed is_watched to isWatched 2016-03-21 23:12:12 -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
bd07a16d6e Cleaner name for _NA 2016-03-17 01:15:58 -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
cc58b87c9b Default to always use a session 2016-03-15 23:53:04 -04:00
Michael Shepanski
c76c69cb93 Convenience function to reset_base_headers is overriding X_PLEX headers 2016-03-15 23:47:13 -04:00
Michael Shepanski
3fe228bbb9 Checkpoint: Work on client code a bit 2016-03-15 22:56:06 -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
8c82651ce1 Level for a media object might not always be an integer 2016-03-14 22:28:21 -04:00
Michael Shepanski
abb3fd901d Merge pull request #34 from bramwalet/patch-1
Update video.py: self.key already contains slash
2016-03-14 22:20:18 -04:00
Michael Shepanski
4399bc6190 Minor cleanup after merging pull request 2016-03-14 22:20:02 -04:00
Michael Shepanski
443d1e76d8 Merge pull request #41 from havardgulldahl/master
Add support for Plex Audio
2016-03-14 22:07:05 -04:00
Michael Shepanski
63892f092f Merge pull request #40 from abibouba/master
Add original title
2016-03-14 22:04:18 -04:00
Michael Shepanski
649dcf2cfd Implement __eq__ for NA; Test apostrophe in titles; Test fetching detailed metadata (using NA) 2016-03-14 00:19:48 -04:00
Håvard Gulldahl
1299c1811f Add support for Plex Playlists to server.py. Introduces the method PlexServer.playlists() 2016-02-03 19:17:09 +01:00
Håvard Gulldahl
42364b09b9 add list_items() method to list playlists and return Playlist objects 2016-02-03 19:16:39 +01:00
Håvard Gulldahl
6a99e1ef49 Add initial support for Plex Playlists 2016-02-03 19:07:53 +01:00
Håvard Gulldahl
b51d7548b5 Read .parentTitle element for class Track 2016-01-31 02:04:51 +01:00
Håvard Gulldahl
b6569dc6a3 Add preliminary session support 2016-01-30 00:13:57 +01:00
Håvard Gulldahl
382a4f45aa Add year attribute to albums 2016-01-30 00:02:00 +01:00
Håvard Gulldahl
ec8c20d0fa We need this fix to make sure .reload() doesn't pull the wrong objects from the server 2016-01-29 22:51:01 +01:00
Håvard Gulldahl
0229226448 add .searchAudio method to PlexServer, to specifically search for audio 2016-01-28 13:09:36 +01:00
Håvard Gulldahl
e437e857cd add titleSort for Artist 2016-01-28 13:08:57 +01:00
Håvard Gulldahl
36b7252742 Get metadata like .media and .genres 2016-01-26 19:10:35 +01:00
sebastientrosset
72ce96f987 Add original title 2016-01-19 21:38:08 +01:00
Håvard Gulldahl
23874f4555 Don't bother with extra metadata just yet 2016-01-19 14:28:35 +01:00
Håvard Gulldahl
f6a1f37a9a Be media agnostic in server.search()
In the long run we should probably merge the audio and video code paths
2016-01-19 11:59:00 +01: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
3ca226e897 Fix build_item() to deal with audio 2016-01-19 11:56:46 +01:00
Håvard Gulldahl
0b9509da27 Fix url endpoint of .getSTreamUrl() 2016-01-19 11:56:34 +01:00
Håvard Gulldahl
1c1592ec29 Add proper metadata for Audio, Artist and Track 2016-01-19 11:56:16 +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
Håvard Gulldahl
bbc6a036fb A naive copy of video.py, adding Album, Artist and Track classes 2016-01-19 10:31:45 +01:00
Adam Charrett
98ce3f0149 Fix missing check for None in __eq__ 2015-12-05 22:16:48 +00:00
bramwalet
bd47ea157d Update video.py: self.key already contains slash
self.key already contains a leading slash therefore this call to the Plex server will fail with 404 not found.
When the slash from the query location is removed, the call will succeed.
2015-11-22 12:55:50 +01:00
Michael Shepanski
e34f8cdbd4 Minor cleanup 2015-11-04 22:57:08 -05:00
Michael Shepanski
28081a23ba Merge pull request #27 from adrienbrault/devices
Get devices and implement play/navigation control
2015-11-04 22:54:44 -05:00
Michael Shepanski
430fb25658 Add is_watched property; Fix python3 bug in examples 2015-11-04 22:49:09 -05:00
Michael Shepanski
1c27b9afb6 Merge branch 'master' of https://github.com/mjs7231/python-plexapi 2015-11-04 21:10:13 -05:00
Michael Shepanski
4e3f178dcb Add transcodeSession information to playing Video 2015-11-04 21:10:10 -05:00
Steven Smith
471a51d265 Plex needs the refresh to be a PUT request
Otherwise you get `plexapi.exceptions.BadRequest: (405) method_not_allowed`
2015-10-29 02:16:00 +08:00
Michael Shepanski
0fc4202e75 Up version number 2015-10-02 09:21:39 -04:00
Michael Shepanski
9dd520d032 Fix merge conflict 2015-10-02 09:18:44 -04:00
Adrien Brault
5e77480611 Get devices and implement play/navigation control 2015-09-29 21:34:04 +02:00
Jonathan Jordan
8b297109e2 Added protocol parameter to getStreamUrl for iOS/Quicktime support 2015-09-24 23:02:42 -04: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
8c0abf0b36 Update version 2015-08-30 21:00:44 -04:00
Michael Shepanski
b2c9a29d1e Update timeline() to use server.query to include proper headers and timeout 2015-08-30 20:59:25 -04:00
Michael Shepanski
457046f174 Convert filter back to list to make Python3 happy 2015-06-17 22:39:57 -04:00
Michael Shepanski
ad4be508a1 Bump minor revision number 2015-06-15 20:54:31 -04:00
Michael Shepanski
6b21d856d3 Fix for issue #19: Connecting to main acount from a remote location failed 2015-06-15 19:55:12 -04:00
Michael Shepanski
dad550fc5f Lets call this 1.0.0 2015-06-14 22:45:51 -04:00
Michael Shepanski
7daa127603 All example and tests working; A few minor changes in the api provided by plex required some rejiggering 2015-06-14 22:45:22 -04:00
Michael Shepanski
f2f8306a65 Test SSL and non-SSL connections when connecting to server 2015-06-09 00:17:55 -04:00
Michael Shepanski
bfec0496ef Fix / in playQueues; Update iphone-name 2015-06-08 22:19:20 -04:00
Michael Shepanski
1055917750 Merge dev 2015-06-08 12:43:15 -04:00
Michael Shepanski
433e0a18b4 Add support for SSL 2015-06-08 12:41:47 -04:00
Michael Shepanski
05ef43bddc Raise exception if trying to get streamURL for Show or Season 2015-06-04 10:55:30 -04:00
Michael Shepanski
69e0abd50c Fix Bug-13 - getStreamUrl produces a malformed URL; Cleanup logging if logfile is not defined 2015-06-04 10:43:50 -04:00
Michael Shepanski
527b0ee323 Add Video.getStreamURL() 2015-06-04 00:00:37 -04:00
Michael Shepanski
739feffc43 Get list of watched/unwatched episodes from Season or Show 2015-06-01 22:55:20 -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
c5eee64030 Read all headers, logging, and core settings from config file; Add Show.refresh() method 2015-06-01 22:27:43 -04:00
Michael Shepanski
eb1e508638 Update version and homepage. 2015-03-09 00:28:32 -04:00
Michael Shepanski
edb29fa0d7 Include plex token on all urls 2015-02-23 22:42:29 -05:00
Michael Shepanski
0489efdb1f Search by hostname or ip as well 2015-02-20 15:06:41 -05:00
Michael Shepanski
699843f150 Updates to work with Python3 2015-02-17 15:35:17 -05:00
gz
b6e063c702 Fixed a typo caused by a naming convention refactor 2014-12-30 22:43:40 +02:00
Michael Shepanski
352696147e Move from Bitbucket 2014-12-28 22:21:58 -05:00