def descargarManga(codigoManga = None, parametros = ParamDescarga): log.debug(codigoManga) manga = config.mangas[codigoManga] lstExclusions = exclusionFiles(manga) log.info(" exclusions.txt == %s" % lstExclusions) MangaGet.lstCapitulos(manga, parametros) listCapitulos = [] #TODO: Debo seguir trabajando en el tema de las exclusiones que no esta bien for capitulo in manga.capitulos: if not (capitulo.code in lstExclusions): listCapitulos.append(capitulo) fileTime = time.strftime("%Y%m%d") fileDownload = MangaFile.getMangaDownloadFolder(manga.uCode, "t%s_%s"%(fileTime, config.CONST_DOWNLOAD_FILE)) for capitulo in listCapitulos: MangaFile.crearDirectorio(capitulo, manga) capitulo = MangaGet.lstImagenes(manga, capitulo) totalImgCarpeta = MangaFile.totalArchivosCarpeta(capitulo) if(capitulo.length > totalImgCarpeta): log.debug("Descargando Imágenes del capítulo :: %s" % capitulo.code) file_ = open(fileDownload, 'a') file_.write("====== Resumen C%s ====== \n"%(capitulo.code)) file_.close() descargarImagenesCapitulo(manga, capitulo, fileDownload) totalImgCarpeta = MangaFile.totalArchivosCarpeta(capitulo) file_ = open(fileDownload, 'a') file_.write("C%s \t Total:%s \t Descargados:%s \n"%(capitulo.code, capitulo.length, totalImgCarpeta)) file_.close() else: log.error("Todos los archivos del capitulo %s ya han sido descargados"%capitulo.title) return manga
def organizarVolumenes(manga = Manga): lstFolder = MangaFile.listarArchivosCarpeta(manga) if(len(lstFolder) > 0): totPre = len(lstFolder[0]) - 1 lstVol, status = VolumenScan.listaVolumenes(manga) for volumen in lstVol: lstFolderInVol = [] capIni = volumen.capitulos[-1].name.split(" ")[-1] capFin = volumen.capitulos[0].name.split(" ")[-1] capIni = funciones.eliminarChrToEnd(capIni, ".") capFin = funciones.eliminarChrToEnd(capFin, ".") capIni = "C%s"%funciones.prefijo(str(capIni), totPre) capFin = "C%s"%funciones.prefijo(str(capFin), totPre) log.info( "%s ):: %s -> %s"%(volumen.name, capIni, capFin)) for folder in lstFolder: downloadDir = MangaFile.getMangaDownloadFolder(manga.uCode, folder) if capIni <= folder and folder <= capFin: lstFolderInVol.append(downloadDir) if(lstFolderInVol.__len__()> 0): volumenName = volumen.name.split(" ")[-1] volumenName = "%s-%s-%s-%s"%(funciones.prefijo(str(volumenName), 2), str(manga.uCode).title(), capIni, capFin) volumensDir = "%s%s/volumenes/%s"%(config.CONST_PATH, manga.uCode, volumenName) volumensDir = volumensDir.replace(' ', '') log.debug("[mkdir] =>%s"%volumensDir) MangaFile.makeDir(volumensDir) for folder in lstFolderInVol: folderName = folder.split("/")[-1] destFolder = "%s/%s"%(volumensDir, folderName) MangaFile.move(folder, destFolder) else: log.error("No se han encontrado capítulos en la carpeta download") volumensDir = "%s%s/volumenes/" %(config.CONST_PATH, manga.uCode) coverDir = "%s%s/covers/" %(config.CONST_PATH, manga.uCode) lstVolumen = MangaFile.listaArchivosPath(volumensDir) lstCovers = MangaFile.listaArchivosPath(coverDir) log.info("Poniendo las carátulas en los volúmenes") if(len(lstVolumen) > 0) and (len(lstCovers) > 0): for volumen in lstVolumen: volFolder = "%s%s"%(volumensDir, volumen) log.debug(volFolder) numVol = volumen.split("-")[0] frontFile = "%s_v%s_front.jpg"%(manga.id, numVol) fullFile = "%s_v%s_full.jpg"%(manga.id, numVol) tocFile = "%s_v%s_toc.jpg"%(manga.id, numVol) backFile = "%s_v%s_back.jpg"%(manga.id, numVol) if (frontFile in lstCovers): origen = "%s%s"%(coverDir,frontFile) destino = "%s/001_front.jpg"%(volFolder) MangaFile.copy(origen, destino) if (fullFile in lstCovers): origen = "%s%s"%(coverDir,fullFile) destino = "%s/002_full.jpg"%(volFolder) MangaFile.copy(origen, destino) if (tocFile in lstCovers): origen = "%s%s"%(coverDir,tocFile) destino = "%s/003_toc.jpg"%(volFolder) MangaFile.copy(origen, destino) if (backFile in lstCovers): origen = "%s%s"%(coverDir,backFile) destino = "%s/z004_back.jpg"%(volFolder) MangaFile.copy(origen, destino)
def exclusionFiles(manga = Manga): fileExcl = "%s%s/%s"%(config.CONST_PATH, manga.uCode, config.CONST_EXCLUSIONS_FILE) lstExcl = MangaFile.readFile(fileExcl) return lstExcl
def renombrarArchivosTest(): MangaFile.renombrarArchivos('/media/Shampoo/Manga/dragon_head/volumenes/02Vol/', 'Dragonhead v02 ')