/
githubmirror
/
cpython
Обзор
Документация
Войти
/
githubmirror
/
cpython
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Tools/c-analyzer/c_common/strutil.py
42 строки
1 KB
Christian Clauss
Fix typos in the Tools directory (GH-28769)
06 окт 2021, 20:55
Не верифицирован
06 окт 2021, 20:55
682aecf
Код
Авторство
О чём код?
import logging logger = logging.getLogger(__name__) def unrepr(value): raise NotImplementedError def parse_entries(entries, *, ignoresep=None): for entry in entries: if ignoresep and ignoresep in entry: subentries = [entry] else: subentries = entry.strip().replace(',', ' ').split() for item in subentries: if item.startswith('+'): filename = item[1:] try: infile = open(filename) except FileNotFoundError: logger.debug(f'ignored in parse_entries(): +{filename}') return with infile: # We read the entire file here to ensure the file # gets closed sooner rather than later. Note that # the file would stay open if this iterator is never # exhausted. lines = infile.read().splitlines() for line in _iter_significant_lines(lines): yield line, filename else: yield item, None def _iter_significant_lines(lines): for line in lines: line = line.partition('#')[0] if not line.strip(): continue yield line