Pular para conteúdo

license

Proxy para operacoes relacionadas a licencas na API PLDPro.

License

Proxy para operacoes relacionadas a licencas na API PLDPro.

Parameters:

Name Type Description Default
api_client ApiClient

Cliente de API para comunicacao com o backend.

required
Source code in pldpro_sdk/core/proxies/license.py
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
class License:
    """Proxy para operacoes relacionadas a licencas na API PLDPro.

    :param api_client: Cliente de API para comunicacao com o backend.
    """

    def __init__(self, api_client: ApiClient) -> None:
        self._license_api = pldpro_sdk.api_client.LicenasApi(api_client)

    def create_license(
        self,
        file: Union[Path, str],
        license_request: LicenseRequest,
    ) -> Union[LicenseResponse, None]:
        """
        Faz upload de um arquivo de licenca.

        :param file: Arquivo de licenca a ser enviado.
        :type file: Union[Path, str]
        :param license_request: Metadados obrigatorios da licenca.
        :type license_request: LicenseRequest
        :return: Dados da licenca criada ou None em caso de erro.
        :rtype: Union[LicenseResponse, None]
        """
        try:
            return upload_license(
                self._license_api.create_license,
                "Licenca",
                file,
                save_zip=False,
                should_zip=False,
                use_full_path=False,
                license_request=license_request,
            )
        except (ApiException, OSError, ValueError) as e:
            error_msg = get_error_message(e) if isinstance(e, ApiException) else str(e)
            logger.error(
                f"Ocorreu o seguinte erro durante o upload da licenca:\n\t {error_msg}",
                exc_info=False,
            )
            return None

    def get_all_licenses(self) -> List[LicenseResponse]:
        """
        Lista todas as licencas do tenant.

        :return: Lista de licencas ou lista vazia em caso de erro.
        :rtype: List[LicenseResponse]
        """
        try:
            return self._license_api.get_all_licenses_by_tenant()
        except ApiException as e:
            error_msg = get_error_message(e)
            logger.error(
                f"Ocorreu o seguinte erro ao listar as licencas:\n\t {error_msg}",
                exc_info=False,
            )
            return []

    def get_all_valid_licenses(self) -> List[LicenseResponse]:
        """
        Lista todas as licencas validas do tenant.

        :return: Lista de licencas validas ou lista vazia em caso de erro.
        :rtype: List[LicenseResponse]
        """
        try:
            return self._license_api.get_all_valid_licenses_by_tenant()
        except ApiException as e:
            error_msg = get_error_message(e)
            logger.error(
                f"Ocorreu o seguinte erro ao listar as licencas validas:\n\t {error_msg}",
                exc_info=False,
            )
            return []

    def get_license_by_model_type(
        self, model_type: Union[ModelTypeEnum, str]
    ) -> Union[LicenseResponse, None]:
        """
        Busca a licenca mais recente do tenant para um modelo via query string.

        :param model_type: Modelo cuja licenca deve ser consultada.
        :type model_type: Union[ModelTypeEnum, str]
        :return: Dados da licenca encontrada ou None em caso de erro.
        :rtype: Union[LicenseResponse, None]
        """
        try:
            return self._license_api.get_license_by_model(
                self._normalize_model_type(model_type)
            )
        except (ApiException, ValueError) as e:
            error_msg = get_error_message(e) if isinstance(e, ApiException) else str(e)
            logger.error(
                f"Ocorreu o seguinte erro ao buscar a licenca do modelo {model_type}:\n\t {error_msg}",
                exc_info=False,
            )
            return None

    def check_valide_license(
        self, model_type: Union[ModelTypeEnum, str]
    ) -> bool:
        """
        Verifica se a licenca para um modelo é válida.

        :param model_type: Modelo cuja licenca deve ser consultada.
        :type model_type: Union[ModelTypeEnum, str]
        :return: True se a licenca for válida, False caso contrário.
        :rtype: bool
        """
        try:
            return self._license_api.check_valid_license(
                self._normalize_model_type(model_type)
            )
        except (ApiException, ValueError) as e:
            error_msg = get_error_message(e) if isinstance(e, ApiException) else str(e)
            logger.error(
                f"Ocorreu o seguinte erro ao buscar a licenca via path do modelo {model_type}:\n\t {error_msg}",
                exc_info=False,
            )
            return None

    def _normalize_model_type(
        self, model_type: Union[ModelTypeEnum, str]
    ) -> ModelTypeEnum:
        if isinstance(model_type, ModelTypeEnum):
            return model_type
        return ModelTypeEnum(model_type)

check_valide_license(model_type)

Verifica se a licenca para um modelo é válida.

Parameters:

Name Type Description Default
model_type Union[ModelTypeEnum, str]

Modelo cuja licenca deve ser consultada.

required

Returns:

Type Description
bool

True se a licenca for válida, False caso contrário.

Source code in pldpro_sdk/core/proxies/license.py
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
def check_valide_license(
    self, model_type: Union[ModelTypeEnum, str]
) -> bool:
    """
    Verifica se a licenca para um modelo é válida.

    :param model_type: Modelo cuja licenca deve ser consultada.
    :type model_type: Union[ModelTypeEnum, str]
    :return: True se a licenca for válida, False caso contrário.
    :rtype: bool
    """
    try:
        return self._license_api.check_valid_license(
            self._normalize_model_type(model_type)
        )
    except (ApiException, ValueError) as e:
        error_msg = get_error_message(e) if isinstance(e, ApiException) else str(e)
        logger.error(
            f"Ocorreu o seguinte erro ao buscar a licenca via path do modelo {model_type}:\n\t {error_msg}",
            exc_info=False,
        )
        return None

create_license(file, license_request)

Faz upload de um arquivo de licenca.

Parameters:

Name Type Description Default
file Union[Path, str]

Arquivo de licenca a ser enviado.

required
license_request LicenseRequest

Metadados obrigatorios da licenca.

required

Returns:

Type Description
Union[LicenseResponse, None]

Dados da licenca criada ou None em caso de erro.

Source code in pldpro_sdk/core/proxies/license.py
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
def create_license(
    self,
    file: Union[Path, str],
    license_request: LicenseRequest,
) -> Union[LicenseResponse, None]:
    """
    Faz upload de um arquivo de licenca.

    :param file: Arquivo de licenca a ser enviado.
    :type file: Union[Path, str]
    :param license_request: Metadados obrigatorios da licenca.
    :type license_request: LicenseRequest
    :return: Dados da licenca criada ou None em caso de erro.
    :rtype: Union[LicenseResponse, None]
    """
    try:
        return upload_license(
            self._license_api.create_license,
            "Licenca",
            file,
            save_zip=False,
            should_zip=False,
            use_full_path=False,
            license_request=license_request,
        )
    except (ApiException, OSError, ValueError) as e:
        error_msg = get_error_message(e) if isinstance(e, ApiException) else str(e)
        logger.error(
            f"Ocorreu o seguinte erro durante o upload da licenca:\n\t {error_msg}",
            exc_info=False,
        )
        return None

get_all_licenses()

Lista todas as licencas do tenant.

Returns:

Type Description
List[LicenseResponse]

Lista de licencas ou lista vazia em caso de erro.

Source code in pldpro_sdk/core/proxies/license.py
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
def get_all_licenses(self) -> List[LicenseResponse]:
    """
    Lista todas as licencas do tenant.

    :return: Lista de licencas ou lista vazia em caso de erro.
    :rtype: List[LicenseResponse]
    """
    try:
        return self._license_api.get_all_licenses_by_tenant()
    except ApiException as e:
        error_msg = get_error_message(e)
        logger.error(
            f"Ocorreu o seguinte erro ao listar as licencas:\n\t {error_msg}",
            exc_info=False,
        )
        return []

get_all_valid_licenses()

Lista todas as licencas validas do tenant.

Returns:

Type Description
List[LicenseResponse]

Lista de licencas validas ou lista vazia em caso de erro.

Source code in pldpro_sdk/core/proxies/license.py
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
def get_all_valid_licenses(self) -> List[LicenseResponse]:
    """
    Lista todas as licencas validas do tenant.

    :return: Lista de licencas validas ou lista vazia em caso de erro.
    :rtype: List[LicenseResponse]
    """
    try:
        return self._license_api.get_all_valid_licenses_by_tenant()
    except ApiException as e:
        error_msg = get_error_message(e)
        logger.error(
            f"Ocorreu o seguinte erro ao listar as licencas validas:\n\t {error_msg}",
            exc_info=False,
        )
        return []

get_license_by_model_type(model_type)

Busca a licenca mais recente do tenant para um modelo via query string.

Parameters:

Name Type Description Default
model_type Union[ModelTypeEnum, str]

Modelo cuja licenca deve ser consultada.

required

Returns:

Type Description
Union[LicenseResponse, None]

Dados da licenca encontrada ou None em caso de erro.

Source code in pldpro_sdk/core/proxies/license.py
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
def get_license_by_model_type(
    self, model_type: Union[ModelTypeEnum, str]
) -> Union[LicenseResponse, None]:
    """
    Busca a licenca mais recente do tenant para um modelo via query string.

    :param model_type: Modelo cuja licenca deve ser consultada.
    :type model_type: Union[ModelTypeEnum, str]
    :return: Dados da licenca encontrada ou None em caso de erro.
    :rtype: Union[LicenseResponse, None]
    """
    try:
        return self._license_api.get_license_by_model(
            self._normalize_model_type(model_type)
        )
    except (ApiException, ValueError) as e:
        error_msg = get_error_message(e) if isinstance(e, ApiException) else str(e)
        logger.error(
            f"Ocorreu o seguinte erro ao buscar a licenca do modelo {model_type}:\n\t {error_msg}",
            exc_info=False,
        )
        return None