Esempio n. 1
0
def traverse(zipfile, graph):
  fileiterator(zipfile)
  for root, directories, files in os.walk("temp"):
    for directory in directories:
      if "MACOSX" in root or "MACOSX" in directory:
        continue

      absPath = os.path.join(root, directory)
      parent = os.path.basename(os.path.normpath(os.path.dirname(os.path.dirname(os.path.join(absPath, os.pardir)))))
      if parent in "temp":
        n = Node.create(directory, "root", None, None, graph)
        graph.root = n
        graph.save()
      else:
        parentNode = Node.objects.get(title=parent, graph=graph)
        inside = os.listdir(absPath)
        leaf = True
        links = []
        for i in inside:
          if os.path.isdir(os.path.join(absPath, i)):
            leaf = False
          else:
            fileName, fileExtension = os.path.splitext(os.path.join(absPath, i))
            if(fileExtension.lower() in accepted):
              leaf = True
              l = Link.create("", "soft", os.path.join(absPath, i))
              l.save()
              links.append(l)
        if leaf:
          n = Node.create(directory, "leaf", links, parentNode, graph)
        else:
          n = Node.create(directory, "branch", None, parentNode, graph)
      n.save()
  shutil.rmtree("temp")
Esempio n. 2
0
 def uncompress(self):
     path = os.path.join(os.path.dirname(os.path.realpath(__file__)),'templates') + '/adjuntos/'
     zipfilename = path + os.path.basename(self.zipFile.url)
     path = path +'/zipfile/'+ os.path.basename(self.zipFile.url) + '/'
     os.makedirs(path)
     for filename,content in fileiterator(zipfilename):
         try:
             f= open(path + filename,'w')
             f.write(content)
             f.close()
         except:
             os.makedirs(path + filename)
Esempio n. 3
0
 def attachedFiles(self):
     path = os.path.join(os.path.dirname(os.path.realpath(__file__)),'templates') + '/adjuntos/'
     zipfilename = path + os.path.basename(self.zipFile.url)
     pathfile = path +'zipfile/'+ os.path.basename(self.zipFile.url) + '/'
     return [pathfile + filename for (filename,content) in fileiterator(zipfilename)]