#!/usr/bin/env python3 # TODO: support nested lists import sys import re def add_ids(ol): """add ids to all li""" id = "" for s in ol.previous_siblings: if not s.name: continue if s.name.startswith("h"): id = s.attrs["data-number"] break for i, li in enumerate(ol.find_all("li")): li["id"] = f"{id}-{i+1}" li["class"] = "rule" header_re = re.compile(r' str: m = data_number_re.search(line) if m: return m.group(1) else: return "" headline = "" i = 0 for line in sys.stdin.readlines(): if header_re.match(line): headline = extract_headline_nr(line) h_idx = line.find('