Add old putlocker-vlc script with contributed fix
parent
efd95998c8
commit
fdad08944d
@ -0,0 +1,51 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import re, mechanize, subprocess, sys
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print "Syntax: putlocker-vlc <putlocker/sockshare url>"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
url = sys.argv[1]
|
||||||
|
matches = re.search("\/(file|embed)\/([A-Z0-9]+)", url)
|
||||||
|
|
||||||
|
if matches is None:
|
||||||
|
print "The URL you provided does not appear to be a valid PutLocker or SockShare URL."
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
video_id = matches.group(2)
|
||||||
|
matches = re.search("(http:\/\/[^/]+)\/", url)
|
||||||
|
domain = matches.group(1)
|
||||||
|
print "Video ID: %s | Host: %s" % (video_id, domain)
|
||||||
|
|
||||||
|
try:
|
||||||
|
print "Retrieving ad page..."
|
||||||
|
browser = mechanize.Browser()
|
||||||
|
browser.set_handle_robots(False)
|
||||||
|
browser.open("%s/embed/%s" % (domain, video_id))
|
||||||
|
except:
|
||||||
|
print "Something went wrong; the server might be down."
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
try:
|
||||||
|
print "Skipping ad..."
|
||||||
|
browser.select_form(nr=0)
|
||||||
|
result = browser.submit()
|
||||||
|
except:
|
||||||
|
print "The file has been removed, or the URL is incorrect."
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
matches = re.search("playlist: '([^']+)'", result.read())
|
||||||
|
playlist = matches.group(1)
|
||||||
|
print "Retrieved playlist URL."
|
||||||
|
|
||||||
|
browser.open(domain + playlist)
|
||||||
|
print "Retrieved playlist data."
|
||||||
|
matches = re.search("url=\"([^\"]+)\" type=\"video\/x-flv\"", browser.response().read())
|
||||||
|
video_file = re.sub("&","&",matches.group(1))
|
||||||
|
print "Found video URL."
|
||||||
|
|
||||||
|
print "Launching VLC with the specified video file..."
|
||||||
|
cmd = ["vlc", "--play-and-exit"]
|
||||||
|
cmd.append(video_file)
|
||||||
|
subprocess.call(cmd)
|
Loading…
Reference in New Issue