Pular para conteúdo

consistency

ConsistencyConfigBuilder

Builder para configuração da rodada de consistência.

O SDK recebe a intençãp funcional e deixa a API refletir os flags CONSIST e FLGENCADCONSIST no entrada.txt.

Source code in pldpro_sdk/models/consistency.py
 8
 9
10
11
12
13
14
15
16
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
class ConsistencyConfigBuilder:
    """
    Builder para configuração da rodada de consistência.

    O SDK recebe a intençãp funcional e deixa a API refletir os flags
    CONSIST e FLGENCADCONSIST no entrada.txt.
    """

    def __init__(self) -> None:
        self._run_consistency: bool | None = None
        self._chain_volumes: bool | None = None

    def enable(self, chain_volumes: bool = True) -> "ConsistencyConfigBuilder":
        if not isinstance(chain_volumes, bool):
            raise ValueError("chain_volumes deve ser boolean.")

        self._run_consistency = True
        self._chain_volumes = chain_volumes
        return self

    def disable(self) -> "ConsistencyConfigBuilder":
        self._run_consistency = False
        self._chain_volumes = None
        return self

    def set_volume_chaining(self, enabled: bool) -> "ConsistencyConfigBuilder":
        if not isinstance(enabled, bool):
            raise ValueError("volume_chaining deve ser boolean.")

        self._chain_volumes = enabled
        return self

    def build(self) -> ConsistencyConfigRequest:
        if self._run_consistency is None:
            raise ValueError("É necessário informar se a consistência deve ser habilitada.")

        if self._run_consistency is False and self._chain_volumes is False:
            raise ValueError("volume_chaining=false exige que a consistência seja habilitada.")

        return ConsistencyConfigRequest(
            rodaConsistencia=self._run_consistency,
            encadeiaVolumes=self._chain_volumes,
        )