def mergeSingle(src): if not os.path.isdir(src): Log.w(Duokan.__name__, '[%s] is not a diractory, exit...' % (src, )) return path = os.path.split(src) id = path[1] destPath = os.path.join(path[0], id+'.pdf') DuoPdf.clean(src) DuoPdf.merge(destPath, src)
def mergeSingle(src): if not os.path.isdir(src): Log.w(Duokan.__name__, '[%s] is not a diractory, exit...' % (src, )) return path = os.path.split(src) id = path[1] destPath = os.path.join(path[0], id + '.pdf') DuoPdf.clean(src) DuoPdf.merge(destPath, src)
def _getProxy(self): self.host = '' self.user = '' self.pswd = '' try: self.host = self.conf.get(Config.KEY_PROXY, Config.KEY_PROXY_HOST) self.user = self.conf.get(Config.KEY_PROXY, Config.KEY_PROXY_USER) self.pswd = self.conf.get(Config.KEY_PROXY, Config.KEY_PROXY_PAWD) except: Log.w(self.TAG, 'read proxy failed') traceback.print_exc()
def merge(dest, srcDir): '''merge pdf files in srcDir''' if os.path.exists(srcDir) and os.path.isdir(srcDir): files = os.listdir(srcDir) if len(files) > 0: merger = PdfFileMerger() for i,f in enumerate(files): Log.i(DuoPdf.__name__, 'merge file [%s]' % (f, )) filePath = os.path.join(srcDir, f) if (os.path.isfile(filePath)): try: srcFileHdl = open(filePath, 'rb') merger.merge(position=i, fileobj=srcFileHdl) except: Log.w(DuoPdf.__name__, 'merge [%s] failed' % (filePath)) traceback.print_exc() else: Log.i(DuoPdf.__name__, 'skip file [%s]' % (filePath,)) Log.i(DuoPdf.__name__, 'save to file [%s]...' % (dest, )) destFileStream = file(dest, 'wb') merger.write(destFileStream) destFileStream.close() Log.i(DuoPdf.__name__, 'done') else: Log.w(DuoPdf.__name__, 'no file in [%s] to merge' % (srcDir)) else: Log.w(DuoPdf.__name__, 'dir [%s] not exist.' % (srcDir,))
def cleanAllInPath(self, srcDir): if os.path.exists(srcDir) and os.path.isdir(srcDir): files = os.listdir(srcDir) num = len(files) if num > 0: for i, f in enumerate(files): print '%d/%d: %s' % (i, num, f) fileName = self.getCleanedFileName(f) srcPath = os.path.join(srcDir, f) destPath = os.path.join(srcDir, fileName) if (os.path.isfile(srcPath)): if self.isCleanedFile(srcPath): print 'skip [%s]' % srcPath elif self.hasCleaned(srcPath): print 'skip [%s]' % srcPath else: try: DuoPdf.cleanPdf(srcPath, destPath) # print '%s -> ' % srcPath # print destPath except: Log.w(DuoPdf.__name__, 'clean [%s] failed' % (srcPath)) traceback.print_exc() else: Log.i(DuoPdf.__name__, 'skip file [%s]' % (srcPath,)) else: Log.w(DuoPdf.__name__, 'no file in [%s] to clean' % (srcDir)) else: Log.w(DuoPdf.__name__, 'dir [%s] not exist.' % (srcDir,))
def clean(srcDir): if os.path.exists(srcDir) and os.path.isdir(srcDir): files = os.listdir(srcDir) if len(files) > 0: for i,f in enumerate(files): filePath = os.path.join(srcDir, f) if (os.path.isfile(filePath)): try: DuoPdf.cleanPdf(filePath, filePath) except: Log.w(DuoPdf.__name__, 'clean [%s] failed' % (filePath)) traceback.print_exc() else: Log.i(DuoPdf.__name__, 'skip file [%s]' % (filePath,)) else: Log.w(DuoPdf.__name__, 'no file in [%s] to clean' % (srcDir)) else: Log.w(DuoPdf.__name__, 'dir [%s] not exist.' % (srcDir,))