2
0

indent.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import re
  2. def indent(data):
  3. while(1):
  4. m = re.search("(\n(?:(?:( +)\*\s(?:[^\n]*))\n?)+)", data)
  5. if(m):
  6. result = m.groups()
  7. end = str(result[0])
  8. while(1):
  9. isspace = re.search("( +)\*\s([^\n]*)", end)
  10. if(isspace):
  11. spacebar = isspace.groups()
  12. up = len(spacebar[0]) * 20
  13. end = re.sub("( +)\*\s([^\n]*)", "<li style='margin-left:" + str(up) + "px'>" + spacebar[1] + "</li>", end, 1)
  14. else:
  15. break
  16. end = re.sub("\n", '', end)
  17. data = re.sub("(\n(?:(?:( +)\*\s(?:[^\n]*))\n?)+)", '<ul style="margin-top: 10px; margin-bottom: 10px;" id="list">' + end + '</ul>', data, 1)
  18. else:
  19. break
  20. while(1):
  21. b = re.search("(<\/h[0-9]>|\n)( +)", data)
  22. if(b):
  23. result = b.groups()
  24. up = re.sub(' ', '<span id="in"></span>', result[1])
  25. if(re.search('<\/h[0-9]>', result[0])):
  26. data = re.sub("(?P<in>\/h[0-9]>)( +)", '\g<in>' + up, data, 1)
  27. else:
  28. data = re.sub("(?:\n)( +)", '<br>' + up, data, 1)
  29. else:
  30. break
  31. return(data)