Python: вложенные комментарии скрипта в список HTML - PullRequest
0 голосов
/ 19 марта 2019

У нас большое количество скриптов с комментариями:

# 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, мне было интересно, нет ли более простого и легкого способа добиться этого. Я также не знаю, должен ли я использовать словарь вместо списка, но я пока не нашел хорошего способа реализовать это.

Любые советы приветствуются

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...