Closed
Description
libvcs.parse.parse
parse.py
:
# can be string imports
DEFAULTS_PARSERS = {
"git": "libvcs.parse.git.GitURL"
# ...
}
PARSERS = DEFAULT_PARSERS.copy()
class Parser:
def __init__(parser_overrides=None):
self.parsers = PARSERS
if isinstance(parser_overrides, dict):
for k, v in parser_overrides.items():
if v is None and k in parsers:
del self.parsers[k]
if k is not None and v is not None:
self.parsers[k] = v
def register_parser(name: str, parser: Parser):
PARSERS[name] = parser
def unregister_parser(name):
del PARSERS[name]