mwtp.parser

class mwtp.parser.Parser(namespace_data: Mapping[str, NamespaceDataFromAPI], alias_entries: Sequence[NamespaceAlias])[source]

A parser that parse strings using (mostly) data provided by the user.

__init__(namespace_data: Mapping[str, NamespaceDataFromAPI], alias_entries: Sequence[NamespaceAlias]) None[source]

Construct a new parser object from the given data.

Parameters:
  • namespace_data – A Mapping that maps string IDs to corresponding namespace data.

  • alias_entries – A Sequence consisting of alias entries.

Attributes

_TITLE_MAX_BYTES: ClassVar[int] = 255
_ILLEGAL_TITLE_CHARACTER: ClassVar[Pattern[str]] = re.compile('[\\u0000-\\u001F#<>[\\]{|}\\u007F\\uFFFD]')

Methods

parse(string: str) Title[source]

The main parsing method. Raises a subclass of InvalidTitle if the string is not a valid title.

Parameters:

string – The string to parse.

Returns:

A Title, if parsed successfully.

Properties

property namespace_data: dict[str, mwtp._namespace_data.NamespaceData]

The data given to and sanitized by the parser.