projectreport.analyzer.parsers package

Subpackages

Submodules

projectreport.analyzer.parsers.base module

class projectreport.analyzer.parsers.base.Parser(path)[source]

Bases: ABC

__init__(path)[source]
data_type: ClassVar[ParserDataType]
docstring()
Return type:

Optional[str]

license()
Return type:

Optional[License]

topics()
Return type:

Optional[List[str]]

version()
Return type:

Optional[str]

projectreport.analyzer.parsers.data_types module

class projectreport.analyzer.parsers.data_types.ParserDataType(value)[source]

Bases: str, Enum

An enumeration.

FOLDER = 'folder'
SINGLE_FILE = 'single_file'
URL = 'url'

projectreport.analyzer.parsers.file module

class projectreport.analyzer.parsers.file.SingleFileParser(path)[source]

Bases: Parser, ABC

contents()
Return type:

str

data_type: ClassVar[ParserDataType] = 'single_file'
file_name()
Return type:

str

classmethod matches_path(path)[source]
Return type:

bool

projectreport.analyzer.parsers.folder module

class projectreport.analyzer.parsers.folder.FolderParser(path, file_names)[source]

Bases: Parser, ABC

Parameters:
  • path (str) – This should be the path of a folder, rather than a path to a file that the singular parsers accept.

  • file_names (Sequence[str]) – A list of file names that should be analyzed within the folder.

__init__(path, file_names)[source]
data_type: ClassVar[ParserDataType] = 'folder'
license()
Return type:

Optional[License]

classmethod matches_path(path, file_names)[source]
Return type:

bool

projectreport.analyzer.parsers.github module

class projectreport.analyzer.parsers.github.GithubData(*args, **kwargs)[source]

Bases: dict

description: Optional[str]
name: str
topics: Optional[List[str]]
version: Optional[str]
class projectreport.analyzer.parsers.github.GithubParser(path)[source]

Bases: URLParser

__init__(path)[source]
contents()
Return type:

str

docstring()
Return type:

Optional[str]

file_name()
Return type:

str

static find_github_url(urls)[source]
Return type:

Optional[str]

license()
Return type:

Optional[License]

classmethod matches_path(path)[source]
Return type:

bool

parsed()
Return type:

GithubData

topics()
Return type:

Optional[List[str]]

version()
Return type:

Optional[Version]

projectreport.analyzer.parsers.github.get_repo(name)[source]
Return type:

Repository

projectreport.analyzer.parsers.index module

projectreport.analyzer.parsers.javascript module

class projectreport.analyzer.parsers.javascript.PackageJSONParser(path)[source]

Bases: SingleFileParser

docstring()
Return type:

Optional[str]

classmethod matches_path(path)[source]
Return type:

bool

parsed()
Return type:

Optional[Dict[str, Any]]

topics()
Return type:

Optional[List[str]]

version()
Return type:

Optional[Version]

projectreport.analyzer.parsers.url module

class projectreport.analyzer.parsers.url.URLParser(path)[source]

Bases: Parser, ABC

data_type: ClassVar[ParserDataType] = 'url'
classmethod matches_path(path)[source]
Return type:

bool