Source code for projectreport.analyzer.parsers.base

import abc
from typing import ClassVar, List, Optional

from cached_property import cached_property

from projectreport.analyzer.parsers.data_types import ParserDataType
from projectreport.license.model import License


[docs]class Parser(abc.ABC): data_type: ClassVar[ParserDataType]
[docs] def __init__(self, path: str): self.path = path
@cached_property def docstring(self) -> Optional[str]: raise NotImplementedError @cached_property def version(self) -> Optional[str]: raise NotImplementedError @cached_property def topics(self) -> Optional[List[str]]: raise NotImplementedError @cached_property def license(self) -> Optional[License]: raise NotImplementedError