Skip to content

Module

Source code in src/library_analyzer/processing/api/model/_api.py
class Module:
    @staticmethod
    def from_dict(d: dict[str, Any]) -> Module:
        result = Module(
            d["id"],
            d["name"],
            [Import.from_dict(import_json) for import_json in d.get("imports", [])],
            [FromImport.from_dict(from_import_json) for from_import_json in d.get("from_imports", [])],
        )

        for class_id in d.get("classes", []):
            result.add_class(class_id)

        for function_id in d.get("functions", []):
            result.add_function(function_id)

        return result

    def __init__(self, id_: str, name: str, imports: list[Import], from_imports: list[FromImport]):
        self.id: str = id_
        self.name: str = name
        self.imports: list[Import] = imports
        self.from_imports: list[FromImport] = from_imports
        self.classes: list[str] = []
        self.functions: list[str] = []

    def add_class(self, class_id: str) -> None:
        self.classes.append(class_id)

    def add_function(self, function_id: str) -> None:
        self.functions.append(function_id)

    def to_dict(self) -> dict[str, Any]:
        return {
            "id": self.id,
            "name": self.name,
            "imports": [import_.to_dict() for import_ in self.imports],
            "from_imports": [from_import.to_dict() for from_import in self.from_imports],
            "classes": self.classes,
            "functions": self.functions,
        }

classes: list[str] = [] instance-attribute

from_imports: list[FromImport] = from_imports instance-attribute

functions: list[str] = [] instance-attribute

id: str = id_ instance-attribute

imports: list[Import] = imports instance-attribute

name: str = name instance-attribute

__init__(id_, name, imports, from_imports)

Source code in src/library_analyzer/processing/api/model/_api.py
def __init__(self, id_: str, name: str, imports: list[Import], from_imports: list[FromImport]):
    self.id: str = id_
    self.name: str = name
    self.imports: list[Import] = imports
    self.from_imports: list[FromImport] = from_imports
    self.classes: list[str] = []
    self.functions: list[str] = []

add_class(class_id)

Source code in src/library_analyzer/processing/api/model/_api.py
def add_class(self, class_id: str) -> None:
    self.classes.append(class_id)

add_function(function_id)

Source code in src/library_analyzer/processing/api/model/_api.py
def add_function(self, function_id: str) -> None:
    self.functions.append(function_id)

from_dict(d) staticmethod

Source code in src/library_analyzer/processing/api/model/_api.py
@staticmethod
def from_dict(d: dict[str, Any]) -> Module:
    result = Module(
        d["id"],
        d["name"],
        [Import.from_dict(import_json) for import_json in d.get("imports", [])],
        [FromImport.from_dict(from_import_json) for from_import_json in d.get("from_imports", [])],
    )

    for class_id in d.get("classes", []):
        result.add_class(class_id)

    for function_id in d.get("functions", []):
        result.add_function(function_id)

    return result

to_dict()

Source code in src/library_analyzer/processing/api/model/_api.py
def to_dict(self) -> dict[str, Any]:
    return {
        "id": self.id,
        "name": self.name,
        "imports": [import_.to_dict() for import_ in self.imports],
        "from_imports": [from_import.to_dict() for from_import in self.from_imports],
        "classes": self.classes,
        "functions": self.functions,
    }