You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
import re
|
|
import resolvers
|
|
|
|
from resolv.shared import ResolverError
|
|
|
|
def resolve(url):
|
|
if re.match("https?:\/\/(www\.)?putlocker\.com", url) is not None:
|
|
task = resolvers.PutlockerTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?sockshare\.com", url) is not None:
|
|
task = resolvers.SockshareTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?1channel\.ch\/external\.php", url) is not None:
|
|
task = resolvers.OneChannelTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?youtube\.com\/watch\?", url) is not None:
|
|
task = resolvers.YoutubeTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?filebox\.com\/[a-zA-Z0-9]+", url) is not None:
|
|
task = resolvers.FileboxTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?vidxden\.com\/[a-zA-Z0-9]+", url) is not None:
|
|
task = resolvers.VidxdenTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?vidbux\.com\/[a-zA-Z0-9]+", url) is not None:
|
|
task = resolvers.VidbuxTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?filenuke\.com\/[a-zA-Z0-9]+", url) is not None:
|
|
task = resolvers.FilenukeTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?pastebin\.com\/[a-zA-Z0-9]+", url) is not None:
|
|
task = resolvers.PastebinTask(url)
|
|
return task.run()
|
|
elif re.match("https?:\/\/(www\.)?mediafire\.com\/\?[a-z0-9]+", url) is not None:
|
|
task = resolvers.MediafireTask(url)
|
|
return task.run()
|
|
else:
|
|
raise ResolverError("No suitable resolver found for %s" % url)
|
|
|
|
def recurse(url):
|
|
previous_result = {}
|
|
|
|
while True:
|
|
result = resolve(url)
|
|
|
|
if result.state == "failed":
|
|
return previous_result
|
|
elif result.result_type != "url":
|
|
return result
|
|
|
|
url = result.results['url']
|
|
previous_result = result
|