У нас большое количество скриптов с комментариями:
# comment 1
code here
# sub-comment 1.1
code here
# comment 2
code here
# sub-comment 2.1
code here
# sub-comment 2.1.1
code here
etc.
Теперь я хотел бы автоматически извлечь комментарии и поместить их в html-список следующим образом: http://jsfiddle.net/PTbGc/632/
Мой текущий код проходит через файл сценария и извлекает комментарии следующим образом:
# extract comments
rule = []
while True:
m = re.match('^(\s*)#+(.*)', lines[lineNr])
if m is not None:
indent = str(len(m.group(1)))
rule.append(m.group(2))
lineNr += 1
else:
break
if rule != []:
rules.append([indent, rule])
Комментарии сохраняются в списке с количеством пробелов перед ними, чтобы знать, когда начинается и заканчивается подкоммент.
Затем он превращается в HTML-код следующим образом:
def add_rule(rules):
group = 0
content += '<ol>'
while group < len(rules):
content += '<li><div class="boxed">'
for rule in rules[group][1]:
content += "<a>" + rule + "</a><br>"
content += '</div>'
if len(rules) > group+1:
if rules[group+1][0] > rules[group][0]:
content += '<ol>'
elif rules[group+1][0] < rules[group][0]:
content += '</ol>'
content += '</li>'
group += 1
content += '</ol>'
return content
Поскольку я довольно плохо знаком с Python, мне было интересно, нет ли более простого и легкого способа добиться этого. Я также не знаю, должен ли я использовать словарь вместо списка, но я пока не нашел хорошего способа реализовать это.
Любые советы приветствуются