', self.html)
if t:
t = t.group(1)
else:
self.logDebug("Unable to detect countdown duration. Guessing 60 seconds")
t = 60
self.wait(t)
direct = m.group(1)
else: # This section could be completely useless now
# Load the page that contains the direct link
url = re.search(r"document\.location\.host \+\s*'(.+)';", self.html)
if not url:
self.parseError('Unable to detect free link')
url = 'http://www.filefactory.com' + url.group(1)
self.html = self.load(url, decode=True)
# Free downloads wait time
waittime = re.search(r'id="startWait" value="(\d+)"', self.html)
if not waittime:
self.parseError('Unable to detect wait time')
self.setWait(int(waittime.group(1)))
self.wait()
# Parse the direct link and download it
direct = re.search(r'data-href-direct="(.*)" class="button', self.html)
if not direct:
self.parseError('Unable to detect free direct link')
direct = direct.group(1)
self.logDebug('DIRECT LINK: ' + direct)
self.download(direct, disposition=True)
check = self.checkDownload({"multiple": "You are currently downloading too many files at once.",
"error": '
'})
if check == "multiple":
self.logDebug("Parallel downloads detected; waiting 15 minutes")
self.retry(wait_time=15 * 60, reason='Parallel downloads')
elif check == "error":
self.fail("Unknown error")
def handlePremium(self):
header = self.load(self.pyfile.url, just_header=True)
if 'location' in header:
url = header['location'].strip()
if not url.startswith("http://"):
url = "http://www.filefactory.com" + url
elif 'content-disposition' in header:
url = self.pyfile.url
else:
self.logInfo('You could enable "Direct Downloads" on http://filefactory.com/account/')
html = self.load(self.pyfile.url)
found = re.search(self.DIRECT_LINK_PATTERN, html)
if found:
url = found.group(1)
else:
self.parseError('Unable to detect premium direct link')
self.logDebug('DIRECT PREMIUM LINK: ' + url)
self.download(url, disposition=True)
getInfo = create_getInfo(FilefactoryCom)