)?Название:(?:)?
(?P[^<]+)<(?:/div|br)>'
FILE_SIZE_PATTERN = ur'(?:
)?Размер:(?:)?
(?P[^<]+)<(?:/div|br)>'
FILE_OFFLINE_PATTERN = ur'
Файл номер [^<]* (не найден|удален) !!!
'
SESSION_ID_PATTERN = r'
]+)>'
INTS_SESSION_PATTERN = r'\(\'ints_session\'\);\s*if\(tag\)\{tag.value = "([^"]+)";\}'
HIDDEN_INPUT_PATTERN = r"var v = .*?name='([^']+)' value='1'"
DOWNLOAD_LINK_PATTERN = r'неверный код,
введите еще раз
'
def setup(self):
self.resumeDownload = self.multiDL = True if self.account else False
self.chunkLimit = 1
def process(self, pyfile):
file_id = re.search(self.__pattern__, pyfile.url).group('ID')
self.html = self.load("http://rusfolder.com/%s" % file_id, cookies=True, decode=True)
self.getFileInfo()
url = re.search(r"location\.href = '(http://ints\..*?=)'", self.html).group(1)
self.html = self.load(url, cookies=True, decode=True)
url, session_id = re.search(self.SESSION_ID_PATTERN, self.html).groups()
self.html = self.load(url, cookies=True, decode=True)
url = "http://ints.rusfolder.com/ints/frame/?session=%s" % session_id
self.html = self.load(url, cookies=True)
self.setWait(31, False)
self.wait()
captcha_url = "http://ints.rusfolder.com/random/images/?session=%s" % session_id
for _ in xrange(5):
self.html = self.load(url, cookies=True)
action, inputs = self.parseHtmlForm('ID="Form1"')
inputs['ints_session'] = re.search(self.INTS_SESSION_PATTERN, self.html).group(1)
inputs[re.search(self.HIDDEN_INPUT_PATTERN, self.html).group(1)] = '1'
inputs['confirmed_number'] = self.decryptCaptcha(captcha_url, cookies=True)
inputs['action'] = '1'
self.logDebug(inputs)
self.html = self.load(url, decode=True, cookies=True, post=inputs)
if self.WRONG_CAPTCHA_PATTERN in self.html:
self.invalidCaptcha()
else:
break
else:
self.fail("Invalid captcha")
download_url = re.search(self.DOWNLOAD_LINK_PATTERN, self.html).group(1)
self.correctCaptcha()
self.logDebug("Download URL: %s" % download_url)
self.download(download_url)
getInfo = create_getInfo(IfolderRu)