diff options
author | Sylvain Beucler <beuc@beuc.net> | 2021-10-22 14:55:44 +0200 |
---|---|---|
committer | Sylvain Beucler <beuc@beuc.net> | 2021-10-22 14:55:44 +0200 |
commit | 8959f1b99ae05b206b922fd6eadac122b8b0b357 (patch) | |
tree | c11f82dc3d6e2852603d6651b7cdce41da7e7ace /lib | |
parent | 61634db6c71cdc96b6ede1157a2584996da8b8c8 (diff) |
lib: add support for data/<extended>/list in the parsers
Diffstat (limited to 'lib')
-rw-r--r-- | lib/python/sectracker/parsers.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/python/sectracker/parsers.py b/lib/python/sectracker/parsers.py index b5e6fea9c2..26bf59bf10 100644 --- a/lib/python/sectracker/parsers.py +++ b/lib/python/sectracker/parsers.py @@ -383,3 +383,19 @@ def dlalist(path, f): _checkrelease(anns, diag, "DLA") return Bug(path, Header(headerlineno, name, None), tuple(anns)) return _parselist(path, f, parseheader, finish) + +@_xpickle.loader("EXT" + FORMAT) +def extadvlist(path, f): + re_header = re.compile(r'^\[(\d\d) ([A-Z][a-z][a-z]) (\d{4})\] ' + + r'([A-Z]+-\d+(?:-\d+)?)\s+' + + r'(.*?)\s*$') + def parseheader(line): + match = re_header.match(line) + if match is None: + return None + return match.groups() + def finish(header, headerlineno, anns, diag): + d, m, y, name, desc = header + _checkrelease(anns, diag, "EXT") + return Bug(path, Header(headerlineno, name, None), tuple(anns)) + return _parselist(path, f, parseheader, finish) |