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 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 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
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 #Prepend the current directory to the path
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 get_entries(zip_path): zip_file = ZipFile(zip_path) return (( e.getName(), _create_read_fn(zip_file, e), ) for e in zip_file.entries())