import re
def indent(data):
while(1):
m = re.search("(\n(?:(?:( *)\* (?:[^\n]*))\n?)+)", data)
if(m):
result = m.groups()
end = str(result[0])
while(1):
isspace = re.search("\n( *)\* ([^\n]*)", end)
if(isspace):
spacebar = isspace.groups()
if(len(spacebar[0]) == 0):
up = 20
else:
up = len(spacebar[0]) * 20
end = re.sub("\n( *)\* ([^\n]*)", "
" + spacebar[1] + "", end, 1)
else:
break
end = re.sub("\n", '', end)
data = re.sub("(\n(?:(?:( *)\* (?:[^\n]*))\n?)+)", '', data, 1)
else:
break
while(1):
b = re.search("(<\/h[0-9]>|\n)( +)", data)
if(b):
result = b.groups()
up = re.sub(' ', '', result[1])
if(re.search('<\/h[0-9]>', result[0])):
data = re.sub("(?P\/h[0-9]>)( +)", '\g' + up, data, 1)
else:
data = re.sub("(?:\n)( +)", '
' + up, data, 1)
else:
break
return(data)