Exemplo n.º 1
0
    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))
Exemplo n.º 2
0
 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))
Exemplo n.º 5
0
 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
Exemplo n.º 6
0
	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

Exemplo n.º 7
0
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())
Exemplo n.º 8
0
def getzip(filename):
    if zipfiles.has_key(filename):
        return zipfiles[filename]
    zipfile = ZipFile(filename)
    zipfiles[filename] = zipfile
    return zipfile
Exemplo n.º 9
0
	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

Exemplo n.º 10
0
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())