Guest User

Untitled

a guest
Jun 22nd, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.47 KB | None | 0 0
  1. class Node:
  2.     def getDirectories(self):
  3.         return [(sub, os.path.join(self.location, sub)) for sub in os.listdir(self.location)]
  4.  
  5.     def extractChildren(self):
  6.         if self.isFolder == True:
  7.             childrenLocations = self.getDirectories()
  8.             for child in childrenLocations:
  9.                 self.children.append(Node(child))
  10.  
  11.     def __init__(self):
  12.         self.children = []
  13.         self.isFolder = False
  14.         self.location = ""
  15.         self.name = ""
  16.         self.isOpened = True
  17.  
  18.     def __init__(self, name_location):
  19.         self.name = name_location[0]
  20.         self.location = name_location[1]
  21.         self.children = []
  22.         self.isFolder = os.path.isdir(self.location)
  23.         self.isOpened = True
  24.  
  25.  
  26. def generateHTML(node, level):
  27.     code = ''
  28.     if node.isFolder == False: # leaf/file
  29.         if(node.isFolder == True):
  30.             treeItemIcon = 'treeItemClosedFolder'
  31.         else:
  32.             treeItemIcon = 'treeItemFileIcon'
  33.  
  34.         code += "<li>\n"
  35.         code += "<div class=\"treeItemFile\">\n"
  36.         code += "<div class=\"treeItemNoButton\">  </div>\n"
  37.         code += "<div class=\"" + treeItemIcon + "\"> </div>\n"
  38.         code += "<div  class=\"treeItemName\"> " + node.name + " </div>\n"
  39.         code += "</div>\n"
  40.         code += "</li>\n"
  41.         return code
  42.  
  43.     else: # folder
  44.         if node.isOpened == True:
  45.             treeItemButton = "treeItemCloseButton"
  46.         else:
  47.             treeItemButton = "treeItemOpenButton"
  48.  
  49.         if node.isOpened == True:
  50.             treeItemIcon = "treeItemOpenedFolder"
  51.         else:
  52.             treeItemIcon = "treeItemClosedFolder"
  53.  
  54.         code += "<li>\n"
  55.         code += "<div class=\"treeItemFolder\">\n"
  56.         code += "<div class=\"" + treeItemButton + "\" > </div>\n"
  57.         code += "<div class=\""+ treeItemIcon + "\"> </div>\n"
  58.         code += "<div class=\"treeItemName\"> " + node.name + " </div>\n"
  59.         code += "</div>\n"
  60.  
  61.         # for sub list
  62.         if node.isOpened == True:
  63.             code += "<br/><ul>\n"
  64.             node.extractChildren()
  65.             for sub in  node.children:
  66.                 generateHTML(sub, level+1)
  67.  
  68.             code += "</ul>\n"
  69.         code += "</li>\n"
  70.         return code
  71.  
  72. def backend_getProjectTree(projectPath, projectName):
  73.     node = Node((projectName, projectPath))
  74.  
  75.     htmlCode = generateHTML(node, 0)
  76.     file = open("htmlCode.txt", "w")
  77.  
  78.     file.write(htmlCode)
  79.     file.close()
Add Comment
Please, Sign In to add comment