Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def getDirectories(self):
- return [(sub, os.path.join(self.location, sub)) for sub in os.listdir(self.location)]
- def extractChildren(self):
- if self.isFolder == True:
- childrenLocations = self.getDirectories()
- for child in childrenLocations:
- self.children.append(Node(child))
- def __init__(self):
- self.children = []
- self.isFolder = False
- self.location = ""
- self.name = ""
- self.isOpened = True
- def __init__(self, name_location):
- self.name = name_location[0]
- self.location = name_location[1]
- self.children = []
- self.isFolder = os.path.isdir(self.location)
- self.isOpened = True
- def generateHTML(node, level):
- code = ''
- if node.isFolder == False: # leaf/file
- if(node.isFolder == True):
- treeItemIcon = 'treeItemClosedFolder'
- else:
- treeItemIcon = 'treeItemFileIcon'
- code += "<li>\n"
- code += "<div class=\"treeItemFile\">\n"
- code += "<div class=\"treeItemNoButton\"> </div>\n"
- code += "<div class=\"" + treeItemIcon + "\"> </div>\n"
- code += "<div class=\"treeItemName\"> " + node.name + " </div>\n"
- code += "</div>\n"
- code += "</li>\n"
- return code
- else: # folder
- if node.isOpened == True:
- treeItemButton = "treeItemCloseButton"
- else:
- treeItemButton = "treeItemOpenButton"
- if node.isOpened == True:
- treeItemIcon = "treeItemOpenedFolder"
- else:
- treeItemIcon = "treeItemClosedFolder"
- code += "<li>\n"
- code += "<div class=\"treeItemFolder\">\n"
- code += "<div class=\"" + treeItemButton + "\" > </div>\n"
- code += "<div class=\""+ treeItemIcon + "\"> </div>\n"
- code += "<div class=\"treeItemName\"> " + node.name + " </div>\n"
- code += "</div>\n"
- # for sub list
- if node.isOpened == True:
- code += "<br/><ul>\n"
- node.extractChildren()
- for sub in node.children:
- generateHTML(sub, level+1)
- code += "</ul>\n"
- code += "</li>\n"
- return code
- def backend_getProjectTree(projectPath, projectName):
- node = Node((projectName, projectPath))
- htmlCode = generateHTML(node, 0)
- file = open("htmlCode.txt", "w")
- file.write(htmlCode)
- file.close()
Add Comment
Please, Sign In to add comment