def processdocx(self, inputfilepath): """ Convert a docx to html format, and calling """ zipFile = ZipFile(inputfilepath) entry = zipFile.getEntry("word/document.xml") stream = zipFile.getInputStream(entry) text = StreamSource(stream) factory = TransformerFactoryImpl() xslt = StreamSource(File(join(FascinatorHome.getPath(), "lib", "xslt", "docx2html.xsl"))) transformer = factory.newTransformer(xslt) tf = "/tmp/%s.html" % uuid.uuid4() transformer.transform(text, StreamResult(File(tf))) parser = DocxHtmlParser() parser.init() f = open(tf, "r") parser.feed(unescape(f.read())) f.close() try: remove(tf) except Exception, e: self.log.error("Failed to remove uploaded word file: %s." % tf) self.log.error(str(e))
def action(self, event): if self.handler[0] != "<console>": buffer = None if (os.path.isfile(self.handler[0])): buffer = jEdit.openFile(self.view, self.handler[0]) else: for i in sys.path: if buffer: break split = os.path.splitext(i) ext = split[1] if len(split[1].split("!")) > 1: ext = split[1].split("!")[0] if ext == '.jar' or ext == '.zip': zip = ZipFile(split[0] + ext) entries = zip.entries() for j in xrange(0, zip.size()): zipEntry = entries.nextElement() if zipEntry.name == self.handler[0]: name = "archive:" + split[ 0] + ext + "!/" + self.handler[0] buffer = jEdit.openFile(self.view, name) break if buffer: self.view.buffer = buffer lineNo = int(self.handler[1]) - 1 end = buffer.getLineStartOffset(lineNo) self.view.textArea.moveCaretPosition(end)
def extractZip(zip, dest): "extract zip archive to dest directory" logger.info("Begin extracting:" + zip + " --> " + dest) mkdir_p(dest) zipfile = ZipFile(zip) entries = zipfile.entries() while entries.hasMoreElements(): entry = entries.nextElement() if entry.isDirectory(): mkdir_p(os.path.join(dest, entry.name)) else: newFile = File(dest, entry.name) mkdir_p(newFile.parent) zis = zipfile.getInputStream(entry) fos = FileOutputStream(newFile) nread = 0 buffer = ByteBuffer.allocate(1024) while True: nread = zis.read(buffer.array(), 0, 1024) if nread <= 0: break fos.write(buffer.array(), 0, nread) fos.close() zis.close() logger.info("End extracting:" + str(zip) + " --> " + str(dest))
def extractZip(zip, dest): "extract zip archive to dest directory" logger.info("Begin extracting:" + zip + " --> " +dest) mkdir_p(dest) zipfile = ZipFile(zip) entries = zipfile.entries() while entries.hasMoreElements(): entry = entries.nextElement() if entry.isDirectory(): mkdir_p(os.path.join(dest, entry.name)) else: newFile = File(dest, entry.name) mkdir_p(newFile.parent) zis = zipfile.getInputStream(entry) fos = FileOutputStream(newFile) nread = 0 buffer = ByteBuffer.allocate(1024) while True: nread = zis.read(buffer.array(), 0, 1024) if nread <= 0: break fos.write(buffer.array(), 0, nread) fos.close() zis.close() logger.info("End extracting:" + str(zip) + " --> " + str(dest))
def getSubList(self): try: if self.isJar or self.isZip: from java.util.zip import ZipFile last = self.dir.find(self.isJar and ".jar" or ".zip") + 4 self.zipfile = self.dir[:last] zip = ZipFile(self.zipfile) head = self.dir[last + 1:] names = [] for i in zip.entries(): if str(i).startswith(head): names.append(i) else: names = os.listdir(self.dir) except os.error: return [] packages = [] for name in names: if self.isJar or self.isZip: if self.iszipdir(self.dir, name): file = os.path.join(self.dir, str(name)) nn = os.path.normcase(str(name)) packages.append((nn, name, file)) else: file = os.path.join(self.dir, str(name)) if self.ispackagedir(file): file = os.path.join(self.dir, str(name)) nn = os.path.normcase(name) packages.append((nn, name, file)) packages.sort() sublist = [] for nn, name, file in packages: if self.isJar or self.isZip: #print self.zipfile + "/" + str(name) item = DirBrowserTreeItem(file + "/" + unicode(name), self.packages + [name]) else: item = DirBrowserTreeItem(file, self.packages + [name]) sublist.append(item) for nn, name in self.listmodules(names): if self.isJar or self.isZip: item = ModuleBrowserTreeItem(u"archive:" + self.dir[:self.dir.find(".jar") + 4] + u"!/" + nn) else: item = ModuleBrowserTreeItem(os.path.join(self.dir, name)) sublist.append(item) return sublist
path, name = os.path.split(file) if path != '': directory = path if len(outs) == 0: outs.append(Output.DirectoryOutput(directory)) from java.util.zip import ZipFile libs = string.split(opts.lib, os.pathsep) classNames = {} for lib in libs: if lib == '': continue #print 'lib: ', lib zf = ZipFile(lib) entries = zf.entries() while entries.hasMoreElements(): entry = entries.nextElement() if entry.directory: continue name = string.join(string.split(entry.name, '/'), '.')[:-6] #print name classNames[name] = 1 def myFilter(name): if name[:5] == 'java.': return 0 if name[:16] == 'org.python.core.': return 0 if classNames.has_key(name): return 0 return 1
def get_entries(zip_path): zip_file = ZipFile(zip_path) return ((e.getName(), _create_read_fn(zip_file, e),) for e in zip_file.entries())
def getzip(filename): if zipfiles.has_key(filename): return zipfiles[filename] zipfile = ZipFile(filename) zipfiles[filename] = zipfile return zipfile
def get_entries(zip_path): zip_file = ZipFile(zip_path) return (( e.getName(), _create_read_fn(zip_file, e), ) for e in zip_file.entries())