Files
homeassistant-config/custom_components/ics_calendar/getparser.py
2026-03-06 01:30:59 +01:00

34 lines
1019 B
Python

"""Provide GetParser class."""
from .icalendarparser import ICalendarParser
class GetParser: # pylint: disable=R0903
"""Provide get_parser to return an instance of ICalendarParser.
The class provides a static method , get_instace, to get a parser instance.
The non static methods allow this class to act as an "interface" for the
parser classes.
"""
@staticmethod
def get_parser(parser: str, *args) -> ICalendarParser | None:
"""Get an instance of the requested parser."""
# parser_cls = ICalendarParser.get_class(parser)
# if parser_cls is not None:
# return parser_cls(*args)
if parser == "rie":
from .parsers.parser_rie import ( # pylint: disable=C0415
ParserRIE,
)
return ParserRIE(*args)
if parser == "ics":
from .parsers.parser_ics import ( # pylint: disable=C0415
ParserICS,
)
return ParserICS(*args)
return None