Skip to content

Parse: Should be able to register parsers, detect vcs #404

Closed
@tony

Description

@tony

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]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions