#!/usr/bin/python3 import re from pathlib import Path from typing import Dict from config_loader import DEFAULT_IMPORT_INDENTATION def parse_counters(filepath: Path, break_point: Dict) -> Dict: if not filepath.is_file(): return {} counters: Dict = {} with open(filepath) as f: for line in f: match = re.search(r"(.*): (\d*\.)*?(\d+)", line) if not match: continue counter, _, num = match.groups() num = int(num) if counter in break_point and num >= break_point[counter]: return counters counters[counter] = num return counters def dict2setcounters(counters: Dict): counters_as_list = [(counter, counters[counter]) for counter in counters.keys()] return ''.join(' ' * DEFAULT_IMPORT_INDENTATION + r'\setcounter{' + counter + '}{' + str(num) + '}\n' for (counter, num) in counters_as_list)