def obtenerCapitulos(manga = Manga, urlCapitulos = '', parametros = ParamDescarga): http = httplib2.Http() codCapituloIni = parametros.codCapitulo headers, body = http.request(urlCapitulos) content = body log.file(body) #print content soup = BeautifulSoup(content, 'html.parser') lst=[] listCapsRet = [] lstCaps = [] soupTable = soup.find("table", {"id" : "caps-list"}) rows = soupTable.find_all('tr') for row in rows: cells = row.find_all("td") tituloCap = cells[1].get_text().encode('utf-8') urlCap= "%s/es"%(cells[1].a.get("href")) capitulo = Capitulo(urlCap, tituloCap) capitulo.code = cells[0].get_text().encode('utf-8') lstCaps.append(capitulo) if(codCapituloIni is not None): for cap in lstCaps: if(parametros.tipo == TYPE.UNIQUE and int(cap.code) == int(codCapituloIni)): lst.append(cap) break if(parametros.tipo != TYPE.UNIQUE and int(cap.code) >= int(codCapituloIni)): lst.append(cap) else: lst = lstCaps return lst, manga
def obtenerURLCaps(manga = Manga): pat = re.compile(CONST_EXP_LST_CAPITULOS) manga.url = 'http://%s/%s/'%(manga.site, manga.code) log.info("http.request[lstCapitulos] ==> %s"%manga.url) http = httplib2.Http() headers, body = http.request(manga.url) log.file(body) caps = pat.findall("%s"%body) log.file(caps) urlCapitulo = caps[0][0] return urlCapitulo
def obtenerCapitulos(manga = Manga, urlCapitulos = '', parametros = ParamDescarga): codCapituloIni = parametros.codCapitulo pat = re.compile('<td class="s">(.+?)</td>') http = httplib2.Http() lstCaps = [] listCapsRet=[] lst=[] log.info("http.request[lstCapitulos] ==> %s"%urlCapitulos) headers, body = http.request(urlCapitulos) log.file(body) li = pat.findall("%s"%body) log.file(li) for elem in li: strOption = str(elem) strOption = strOption.replace('<strong>', '') strOption = strOption.replace('</strong>', '') pat2 = re.compile('<a href="(.+?)">(.+?)</a>') cap = pat2.findall("%s"%strOption) lstCaps.append(cap) total = len(lstCaps) manga.length = total totPre = len(str(total)) # print lstCaps # exit(0) if(total > 1): lstCaps = sorted(lstCaps, key=splittedname) if(codCapituloIni is not None): for cap in lstCaps: codCap = cap[0][0].split("/")[-2] codCap = funciones.prefijo(codCap, totPre) capIni = funciones.prefijo(str(codCapituloIni), totPre) #codCap = funciones.decode(codCap) if(parametros.tipo == TYPE.UNIQUE and codCap == capIni): listCapsRet.append(cap) break if (codCap >= capIni and parametros.tipo != TYPE.UNIQUE): listCapsRet.append(cap) else: listCapsRet = lstCaps for cap in listCapsRet: capitulo = Capitulo(cap[0][0], cap[0][1]) #capitulo.url = "%s%s/"%(manga.url, capitulo.code) capitulo.code = capitulo.url.split("/")[-2] auxUri = capitulo.url.split("/")[-3] capitulo.url = capitulo.url.replace("%s/%s"%(auxUri, capitulo.code), "c") lst.append(capitulo) return lst, manga
def copy(orig=None, dest=None): if(not os.path.isfile(dest)): log.debug("[cp] %s -> %s "%(orig, dest)) shutil.copyfile(orig, dest) else: log.file("El archivo [%s] ya exĂste "%dest)