Advertisement
Guest User

dfffgd

a guest
Feb 24th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. import os
  2.  
  3. mypath = "C:\\Users\\dudgy\\Desktop\\eventmanagementsystem"
  4.  
  5. IMAGES = {
  6.     ".py": [0.12, "python.png"],
  7.     ".css": [0.1, "css.jpg"],
  8.     ".html": [0.08, "html.png"],
  9.     ".js": [0.08, "js.jpg"],
  10. }
  11. SPACES_FOR_INDENT = 4
  12.  
  13.  
  14. def path_to_dict(path):
  15.     d = {'name': os.path.basename(path)}
  16.     if os.path.isdir(path):
  17.         d['type'] = "directory"
  18.         d['children'] = [path_to_dict(os.path.join(path,x)) for x in os.listdir(path)]
  19.     else:
  20.         d['type'] = "file"
  21.     return d
  22.  
  23. def recurse(files, fh, indent):
  24.     for f in files:
  25.         if f["name"].startswith("."):
  26.             continue
  27.         if f["type"] == "directory":
  28.             fh.write(" "*indent*SPACES_FOR_INDENT + "\\item" + " " + f["name"] + " " + "(directory)" + "\n")
  29.             fh.write(" "*indent*SPACES_FOR_INDENT + "\\begin{enumerate}\n")
  30.             indent += 1
  31.             recurse(f["children"], fh, indent)
  32.             indent -= 1
  33.             fh.write(" "*indent*SPACES_FOR_INDENT + "\\end{enumerate}\n")
  34.         elif f["type"] == "file":
  35.             f = os.path.splitext(f["name"])
  36.             if f[1] != "" and f[1] in IMAGES:
  37.                 fh.write(" "*indent*SPACES_FOR_INDENT + "\\item" + " " + f[0] + " " + "\\includegraphics["+ "scale=" + str(IMAGES[f[1]][0]) +"]{" + IMAGES[f[1]][1] + "}" + "\n")
  38.             else:
  39.                 fh.write(" "*indent*SPACES_FOR_INDENT + "\\item" + " " + f[0] + "\n")
  40.  
  41. if __name__ == '__main__':
  42.     files = path_to_dict(mypath)
  43.     fh = open("latex.tex", "w+")
  44.     fh.write("\\begin{enumerate}\n")
  45.     recurse(files["children"], fh, 0)
  46.     fh.write("\\end{enumerate}\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement