diff --git a/repology/parsers/parsers/elpa.py b/repology/parsers/parsers/elpa.py index b12d3862..41299cc1 100644 --- a/repology/parsers/parsers/elpa.py +++ b/repology/parsers/parsers/elpa.py @@ -57,8 +57,9 @@ def _parse_data(data: str) -> list[_PackageData]: keyval_maintainers_multi = (lpar + Suppress(':maintainers') + OneOrMore(lpar + people_list + rpar) + rpar).setParseAction(lambda s, l, t: [('maintainers_multi', [str(m) for m in t])]) keyval_author = (lpar + Suppress(':author') + people_list + rpar).setParseAction(lambda s, l, t: [('author', [str(a) for a in t])]) keyval_authors = (lpar + Suppress(':authors') + OneOrMore(lpar + people_list + rpar) + rpar).setParseAction(lambda s, l, t: [('authors', [str(a) for a in t])]) + keyval_revdesc = (lpar + Suppress(':revdesc') + dot + qstring + rpar).setParseAction(lambda s, l, t: [('revdesc', t[0])]) - keyval_item = keyval_url | keyval_keywords | keyval_commit | keyval_maintainer | keyval_maintainer_multi | keyval_maintainers | keyval_maintainers_multi | keyval_authors | keyval_author + keyval_item = keyval_url | keyval_keywords | keyval_commit | keyval_maintainer | keyval_maintainer_multi | keyval_maintainers | keyval_maintainers_multi | keyval_authors | keyval_author | keyval_revdesc keyvals = (lpar + ZeroOrMore(keyval_item) + rpar).setParseAction(lambda s, l, t: [{k: v for k, v in t}]) | nil.setParseAction(lambda s, l, t: [{}])