[BETA] Plex Downloader - Desktop Sync

Plex Downloader v0.04

Desktop Sync Client / Server-to-Server Sync Client

 

Features:

-Lightweight

-WebUI to manage sync items! (desktop+mobile)

-Cross platform Python Script

-Does not require Plex Pass.

-Movie Support

-TV Show Support

-Music Support [By Artists]

-Photo Support [By Albums]

-Custom Movie Sync Directory

-Custom TV Show Sync Directory

-Custom Music Sync Directory

-Custom Photo Sync Directory

-TV Show Custom Sync (Latest Episode, Current Season, or All Episodes)

-TVShow Auto Delete functionality to delete old episodes when new episode becomes available.

-Full Server Sync [Will sync all content from one server to another]

-myPlex Support for Remote Downloading (Customized code from HTPC-Manager to get this working)

-Transcoded Downloading - So you can convert on the fly and save to drive and conserve disk space.

-Unwatched sync option for TV/Movies.

-WebUI Force Search Buttons

-File deletion upon unsync [optional]

-Autosync new movies/tvshows from recently added, recently viewed, recently released, on deck, etc

-myPlex Token Caching [Only connects to myPlex once for token, so sync will work even if myPlex is down.]

-Easy to access search Buttons for TMDB, TVDB, TADB, IMDB, Traileraddict, etc in webui.

 
 

Download:

https://github.com/ilyaz/PlexDownloader

 

Screenshots [old]:

 

1 Like

Just a few updates!

I added file name sanitization to prevent file names with illegal characters (would cause the script to crash).

I also added a download timeout with file deletion to prevent broken downloads if you ever have an internet outage while it's downloading.

Grab the new plexdl.py on github!

Hey guys a new update coming out.

 

NEW: Music Support [Sync By Artist]

NEW: Photo Support [Sync By Album]

NEW: Full Sync Support [To download everything in your library]

NEW: You can now disable or enable categories. By default the ini has tvshows/movies enabled.

 

-Full sync will still follow your “recent” and “all” for tvshows so if you want to sync all of your tv shows but only the most recent episodes enable full sync for tv shows and set type to recent.

 

FIX: Handling for when myPlex is down. [Will try to reconnect instead of exit out of the script.]

thanks!!!! I'll try that!

thanks!!!! I'll try that!

You're welcome. Enjoy !

Updates:

NEW: TV Show Custom Sync (Latest Episode)

NEW: Auto Delete: Option to delete old episodes as soon as a new one becomes available.

 

NOTES:

To get latest episode set tvtype in ini to episode.

Auto delete is disabled by default so enable it in the ini if you want to use it.

 

COMING SOON:

Web based management system for syncing new content.

Got a cool new update coming out. Been testing this out on my mac, but if anyone has an issue let me know. You can also disable this in the ini if it doesn't appeal to you and change the port if you need to!

 

Updates:

 

NEW: Plex Downloader Web Management System (default port 8585) to manage sync items.

 

 

 

Coming soon:

Transcoded downloading

Unwatched sync option

Kinda cool, personally I would put the sync/delete buttons on the left of the text so they all align :)

EDIT: or possibly stick them to the to right of the box

It also doesn't seem to pick the sections up for me: https://www.dropbox.com/s/vyeyujux8jrnwq7/Screenshot%202014-08-08%2021.06.15.png

I've set the correct section numbers

It also doesn't seem to pick the sections up for me: https://www.dropbox.com/s/vyeyujux8jrnwq7/Screenshot%202014-08-08%2021.06.15.png

I've set the correct section numbers

Are you using a shared myPlex account? What PMS version are you using? And did you follow the read me (for instance not putting the "/" at the end of the ip)? If you can PM me your ini I can figure it out. Running mine with the latest PMS and it works fine (not using myPlex). Also is the WebUI only not populating (can you see in the output of the script if it is running through your library looking for downloads)?

Kinda cool, personally I would put the sync/delete buttons on the left of the text so they all align :)

EDIT: or possibly stick them to the to right of the box

Will work on the visual a bit after I have added transcoded downloading, and unwatched sync. Someone also sent me a cool dark plex theme for bootstrap might push that to the master.

Here's my config: http://pastebin.com/mLykjaqJ

If I don't enable myPlex I get:

IOError: ('http error', 401, 'Unauthorized', )

I've NOT got "Require authentication on local networks" selected

Using PMS 0.9.9.14 on Ubuntu

I just tried with my own myPlex login using the master branch release and it works fine for me (both the webui and the downloader). Perhaps try to add your local network range to the allowed networks in PMS (however logging into myplex should probably bypass that completely). Are you using a shared myplex account or the main account and are there any errors related to myplex in the log? Also what version of python are you using?

Main account. Python 2.7.5 (OS X)

Adding the local range to the allowed list doesn't make a difference.

Interestingly if I add the music section it does pick the stuff up.

I was online looking for some API documentation to start a project just like this. I can't say how happy I am that you have done all the work already!!

Seriously, this looks great. Thank you so much. This looks like it will work well for my vehicle/travel server applications.

ECS470

NEW: Full Transcoding Support [TV Shows/Movies] (Experimental)

NEW: Unwatched sync option for TV Shows and Movies

FIX: Crash when movie year does not exist.

FIX: Increase socket timeout to prevent transcoding timeout.

UPDATE: Version bump to .03

 

NOTES:

The transcoding process is highly configurable through through the ini (thanks to PMS/ffmpeg). You can set a custom bitrate/quality/res that suits your needs. I have provided a preset but you can change it to get higher/lower quality. I may make more transcoding options available in the ini as needed. By default transcoding is disabled, so enable it through the ini to use it.

 

OTHER THOUGHTS:

This script can now be used in conjunction with things like btsync or dropbox to sync media across all your devices (a free alternative to plex sync)

 

I was online looking for some API documentation to start a project just like this. I can't say how happy I am that you have done all the work already!!

Seriously, this looks great. Thank you so much. This looks like it will work well for my vehicle/travel server applications.

ECS470

Thanks man appreciate it. Hope it works for you  :) .

Main account. Python 2.7.5 (OS X)

Adding the local range to the allowed list doesn't make a difference.

Interestingly if I add the music section it does pick the stuff up.

I'll add better logging when I get the chance so we can figure out what the issue is. If you can see your music section there shouldn't be any reason you can't see your tv/movies section. I would say to double check on the section numbers. Hopefully we can figure it out eventually.

Section numbers are definitely correct. I'll wait for the logging, no rush :)

Hi, I just tried and it works well for me! One thing that might be really cool to add to your project is to sync subtitles linked to the medias! 

Very cool project, ilyaz - thanks for sharing!  

I've given it a go and encounter two issues... first, no CSS is loading on the page and secondly I encounter several errors.  Screenshots attached.

![post-20979-0-58936700-1407871815.jpg|641x165](upload://3P5XfpQKXUDpAdkfc0ITi43Op6r.jpg)

![post-20979-0-32791500-1407871816.jpg|440x499](upload://U4f0UbV48ZSHj4ITOJLa6qF8UU.jpg)

Hi, I just tried and it works well for me! One thing that might be really cool to add to your project is to sync subtitles linked to the medias! 

Thanks for the feedback! That feature should be really easy to add i'll add it to the timeline.

Section numbers are definitely correct. I'll wait for the logging, no rush :)

Alright sounds good  :) .

Very cool project, ilyaz - thanks for sharing!  

I've given it a go and encounter two issues... first, no CSS is loading on the page and secondly I encounter several errors.  Screenshots attached.

attachicon.gifCapture.JPG

attachicon.gifCapture2.JPG

Thanks for the info! Do you have noscript/adblock enabled in your web browser? If so try to turn it off and force refresh the page. If that doesn't work try a different web browser and see if it works for you. Report back if you still have issues.

As for the second issue, those messages are generated by the web server embedded in Plex Downloader and should generally be ignored. 304 Not Modified just means the file is not going to be recached because it hasn't been changed since the last time you accessed the site, it helps to improve load speed. I'll remove some unneeded dependencies to remove some of those messages. 

Thanks for the info! Do you have noscript/adblock enabled in your web browser? If so try to turn it off and force refresh the page. If that doesn't work try a different web browser and see if it works for you. Report back if you still have issues.

Sorry I should have mentioned in my original post - yes, tried a variety of browsers on two machines all with the same result.  No extensions or blocking scripts.