Skip to content

Module

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

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

        for function_id in json.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_json(self) -> Any:
        return {
            "id": self.id,
            "name": self.name,
            "imports": [import_.to_json() for import_ in self.imports],
            "from_imports": [
                from_import.to_json() 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 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 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 library_analyzer/processing/api/model/_api.py
def add_function(self, function_id: str) -> None:
    self.functions.append(function_id)

from_json(json) staticmethod

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

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

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

    return result

to_json()

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