[BETA] Plex Downloader - Desktop Sync

Hoping for a little help.
Been playing with this for days - trying to connect to my coworkers plex server so I can download a few videos for an upcoming flight.

I THINK i have managed to get plexdownloader to finally connect to the remote plex server (I had to add /web to the plexurl = http://www.***.com:32400/web) …censored the server domain

However, when I try to download anything I always get a not found response…I have verified the section numbers, but I am grasping at straws…also it seems like even if I change the token.txt file this has no impact on …figured I would get an error if the token was wrong, but that doesnt seem to be the case…any help would be immensely appreciated! I am losing my mind over here :).

C:\Users\***\Downloads\PlexDownloader-master (2)\PlexDownloader-master>python plexdl.py
Starting PlexDownloader Web Manager...
Starting Plex Scraper...
PlexDownloader - v0.07
Syncing Movies to C:/Users/***/Downloads/Videos/Movies
Syncing TV to C:/Users/***/Downloads/Videos/TV/
Syncing Music to /Users/plexdl/Downloads/Music/
Using cached myPlex token.
1 TV Shows Found in Your Wanted List...
PlexScraper - v0.01
Plex Scraper: No scrapers enabled in config.  Scraper process disabled.
Using cached myPlex token.
0 Total TV Shows Found
Plex Download completed at 2016-05-31 18:37:04
Sleeping 600 Seconds...
http://0.0.0.0:8585/

Just a side note, if I don’t remove the /web, I get the following errors:

Using cached myPlex token.
1 TV Shows Found in Your Wanted List...
PlexScraper - v0.01
Plex Scraper: No scrapers enabled in config.  Scraper process disabled.
Using cached myPlex token.
Something went wrong: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage instance at 0x02D10850>)
Traceback (most recent call last):
  File "plexdl.py", line 1059, in <module>
    x.search()
  File "plexdl.py", line 356, in search
    xmldoc = minidom.parse(urllib.urlopen(constructPlexUrl("/library/sections/"+self.plexid+"/all")))
  File "C:\Python27\lib\urllib.py", line 87, in urlopen
    return opener.open(url)
  File "C:\Python27\lib\urllib.py", line 213, in open
    return getattr(self, name)(url)
  File "C:\Python27\lib\urllib.py", line 364, in open_http
    return self.http_error(url, fp, errcode, errmsg, headers)
  File "C:\Python27\lib\urllib.py", line 377, in http_error
    result = method(url, fp, errcode, errmsg, headers)
  File "C:\Python27\lib\urllib.py", line 689, in http_error_401
    errcode, errmsg, headers)
  File "C:\Python27\lib\urllib.py", line 386, in http_error_default
    raise IOError, ('http error', errcode, errmsg, headers)
IOError: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage instance at 0x02D10850>)

Plex Download failed at 2016-05-31 18:41:19
Retrying in 10 Seconds...
Traceback (most recent call last):
  File "webui.py", line 179, in <module>
    tvShowSearchWeb()
  File "webui.py", line 164, in tvShowSearchWeb
    website = urllib.urlopen(tvhttp)
  File "C:\Python27\lib\urllib.py", line 87, in urlopen
    return opener.open(url)
  File "C:\Python27\lib\urllib.py", line 213, in open
    return getattr(self, name)(url)
  File "C:\Python27\lib\urllib.py", line 364, in open_http
    return self.http_error(url, fp, errcode, errmsg, headers)
  File "C:\Python27\lib\urllib.py", line 377, in http_error
    result = method(url, fp, errcode, errmsg, headers)
  File "C:\Python27\lib\urllib.py", line 689, in http_error_401
    errcode, errmsg, headers)
  File "C:\Python27\lib\urllib.py", line 386, in http_error_default
    raise IOError, ('http error', errcode, errmsg, headers)
IOError: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage instance at 0x02C10670>)

I managed to solve my problem. It seems that for whatever reason plexdownloader was retrieving an incorrect Token. Once I manually entered the correct token, I was able to remove the /web and everything works! Amazing!!

How did you find the token to manually import? I am having the same issue. thanks in advance.

Sorry one more note. i tried the steps for the token here

https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token

i do not have the view xml option.

Ok… I guess I’m just really stupid, but I cannot figure out how to use this script! I downloaded Python, I read the Readme, set my configurations. But when I try to run it, nothing happens! What am I doing wrong?! (I wish there were some instructions for noobs like me who don’t know anything about Python).

Is it possible to use this with people who share their library with us. remote download from a shared library.

@Vandammages said:
Is it possible to use this with people who share their library with us. remote download from a shared library.

I doubt it.

I’m having a bit of an issue downloading from a remote plex server:

eric@plex:~/PlexDownloader$ python plexdl.py Starting PlexDownloader Web Manager... Starting Plex Scraper... PlexDownloader - v0.07 Syncing Movies to /video/Movies/ Syncing TV to /video/TV Shows/ Syncing Music to /Users/plexdl/Downloads/Music/ Using cached myPlex token. 28 Movies Found in Your Wanted List... PlexScraper - v0.01 Using cached myPlex token. 28 Movies Found in Your Wanted List... Using cached myPlex token. http://0.0.0.0:8585/ 0 Total Movies Found Plex Download completed at 2016-11-24 15:57:16 Sleeping 600 Seconds... 0 Total Movies Found Plex Scraper: completed at 2016-11-24

I have validated that my token is correct, I see the the movies in the wanted list but nothing downloads because no movies are found.

Ok so let’s start with the 401 issues. You DO NOT need to generate a new X-Plex token. Perhaps at one time you did, but this is no longer necessary. You WILL need to go into user.ini and set MyPlex to enabled, and add your username and password. You may also need to go into Plex Server Settings set Required Connections to Preferred instead of Required.

One thing I am still looking into is multi-library support. I will post more once I find out but right now it seems to only support a single tvshows library at a time (so ID 8, not 27). I’ve tried using different category names but it only detects ‘tvshows’. For instance my config presently looks like :

[tvshows]
active = enable
plexid = 27
tvfile = Enc TV Shows.txt
tvtype = recent
tvlocation = C:\Users\username\Videos\Sync\TV Shows
fullsync = disable
autodelete = disable
unwatched = disable
deletefiles = enable
folderstructure = default

[tvshows]
active = enable
plexid = 8
tvfile = TV Shows Encrypted.txt
tvtype = recent
tvlocation = C:\Users\username\Videos\Sync\TV Shows
fullsync = disable
autodelete = disable
unwatched = disable
deletefiles = enable
folderstructure = default

It doesn’t look like the project is under active development on github but I may look into forking the original project just I’m not sure I have the time to work on it right now. Anyway I’m on Windows 10 and I have it running so keep trying and you can get it figured out!

Hello
I have a small issue. I hope its a small one. :slight_smile: Sync works very well, but when i use the delete button on the page, it will not delete the movie on the Filesystem. I see a error in the log
Sleeping 600 Seconds... Using cached myPlex token. Unable to delete movie from filesystem. Check Permissions.
When i try to delete by hand it works. I done this under the user who runs plexdl.py. I use Ubuntu 16.04.
Any ideas?

Can confirm this still works as of 12/2018 for both local AND shared servers.
Another tip, delete the token.txt file and let it regenerate.

What should we put in the plexurl field for a shared server ?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.