idecomp 1.3.0__tar.gz → 1.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. {idecomp-1.3.0 → idecomp-1.4.0}/PKG-INFO +2 -2
  2. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/__init__.py +1 -1
  3. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/config.py +1 -0
  4. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dadger.py +31 -0
  5. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/arquivos.py +2 -0
  6. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/avl_cortesfpha_dec.py +2 -0
  7. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/blocos/tabelacsv.py +4 -0
  8. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/blocos/versaomodelo.py +4 -0
  9. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/caso.py +2 -0
  10. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/custos.py +8 -0
  11. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dadger.py +274 -0
  12. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dadgnl.py +8 -0
  13. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_avl_evap.py +2 -0
  14. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_cortes_evap.py +2 -0
  15. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_desvfpha.py +2 -0
  16. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_eco_cotajus.py +2 -0
  17. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_eco_discr.py +2 -0
  18. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_fcf_cortes.py +2 -0
  19. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_gnl.py +4 -0
  20. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_interc.py +4 -0
  21. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_ree.py +4 -0
  22. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_sist.py +4 -0
  23. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_usie.py +4 -0
  24. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_usih.py +4 -0
  25. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_usit.py +4 -0
  26. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/decomptim.py +2 -0
  27. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/fcfnw.py +2 -0
  28. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/hidr.py +2 -0
  29. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/inviabunic.py +4 -0
  30. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/oper_desvio_fpha.py +2 -0
  31. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/postos.py +2 -0
  32. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/relato.py +54 -2
  33. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/relgnl.py +8 -0
  34. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/vazoes.py +2 -0
  35. idecomp-1.4.0/idecomp/libs/modelos/restricoes.py +1945 -0
  36. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/modelos/usinas_hidreletricas.py +10 -0
  37. idecomp-1.4.0/idecomp/libs/restricoes.py +1057 -0
  38. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/PKG-INFO +2 -2
  39. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/SOURCES.txt +4 -0
  40. idecomp-1.4.0/idecomp.egg-info/requires.txt +3 -0
  41. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dadger.py +31 -0
  42. idecomp-1.4.0/tests/libs/test_restricoes.py +708 -0
  43. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dadger.py +1 -1
  44. idecomp-1.4.0/tests/mocks/arquivos/restricoes_libs.py +156 -0
  45. idecomp-1.3.0/idecomp.egg-info/requires.txt +0 -3
  46. {idecomp-1.3.0 → idecomp-1.4.0}/LICENSE.md +0 -0
  47. {idecomp-1.3.0 → idecomp-1.4.0}/README.md +0 -0
  48. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/__init__.py +0 -0
  49. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/arquivos.py +0 -0
  50. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/avl_cortesfpha_dec.py +0 -0
  51. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/caso.py +0 -0
  52. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/custos.py +0 -0
  53. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dadgnl.py +0 -0
  54. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_avl_evap.py +0 -0
  55. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_cortes_evap.py +0 -0
  56. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_desvfpha.py +0 -0
  57. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_eco_cotajus.py +0 -0
  58. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_eco_discr.py +0 -0
  59. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_fcf_cortes.py +0 -0
  60. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_gnl.py +0 -0
  61. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_interc.py +0 -0
  62. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_ree.py +0 -0
  63. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_sist.py +0 -0
  64. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_usie.py +0 -0
  65. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_usih.py +0 -0
  66. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_usit.py +0 -0
  67. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/decomptim.py +0 -0
  68. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/fcfnw.py +0 -0
  69. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/hidr.py +0 -0
  70. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/inviabunic.py +0 -0
  71. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/__init__.py +0 -0
  72. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/arquivoscsv/__init__.py +0 -0
  73. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/arquivoscsv/arquivocsv.py +0 -0
  74. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/blocos/__init__.py +0 -0
  75. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/oper_desvio_fpha.py +0 -0
  76. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/postos.py +0 -0
  77. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/relato.py +0 -0
  78. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/relgnl.py +0 -0
  79. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/vazoes.py +0 -0
  80. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/__init__.py +0 -0
  81. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/modelos/__init__.py +0 -0
  82. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/usinas_hidreletricas.py +0 -0
  83. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/py.typed +0 -0
  84. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/dependency_links.txt +0 -0
  85. {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/top_level.txt +0 -0
  86. {idecomp-1.3.0 → idecomp-1.4.0}/setup.cfg +0 -0
  87. {idecomp-1.3.0 → idecomp-1.4.0}/setup.py +0 -0
  88. {idecomp-1.3.0 → idecomp-1.4.0}/tests/__init__.py +0 -0
  89. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/__init__.py +0 -0
  90. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_arquivos.py +0 -0
  91. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_avl_cortesfpha_dec.py +0 -0
  92. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_caso.py +0 -0
  93. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_custos.py +0 -0
  94. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dadgnl.py +0 -0
  95. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_avl_evap.py +0 -0
  96. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_cortes_evap.py +0 -0
  97. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_desvfpha.py +0 -0
  98. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_eco_cotajus.py +0 -0
  99. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_eco_discr.py +0 -0
  100. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_fcf_cortes.py +0 -0
  101. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_gnl.py +0 -0
  102. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_interc.py +0 -0
  103. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_ree.py +0 -0
  104. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_sist.py +0 -0
  105. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_usie.py +0 -0
  106. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_usih.py +0 -0
  107. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_usit.py +0 -0
  108. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_decomptim.py +0 -0
  109. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_fcfnw.py +0 -0
  110. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_hidr.py +0 -0
  111. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_inviabunic.py +0 -0
  112. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_oper_desvio_fpha.py +0 -0
  113. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_postos.py +0 -0
  114. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_relato.py +0 -0
  115. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_relgnl.py +0 -0
  116. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_sumario.py +0 -0
  117. {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_vazoes.py +0 -0
  118. {idecomp-1.3.0 → idecomp-1.4.0}/tests/libs/__init__.py +0 -0
  119. {idecomp-1.3.0 → idecomp-1.4.0}/tests/libs/test_usinas_hidreletricas.py +0 -0
  120. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/__init__.py +0 -0
  121. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/__init__.py +0 -0
  122. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/arquivos.py +0 -0
  123. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/avl_cortesfpha_dec.py +0 -0
  124. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/caso.py +0 -0
  125. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/custos.py +0 -0
  126. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dadgnl.py +0 -0
  127. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_avl_evap.py +0 -0
  128. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_cortes_evap.py +0 -0
  129. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_desvfpha.py +0 -0
  130. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_eco_cotajus.py +0 -0
  131. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_eco_discr.py +0 -0
  132. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_fcf_cortes.py +0 -0
  133. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_gnl.py +0 -0
  134. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_interc.py +0 -0
  135. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_ree.py +0 -0
  136. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_sist.py +0 -0
  137. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_usie.py +0 -0
  138. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_usih.py +0 -0
  139. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_usit.py +0 -0
  140. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/decomptim.py +0 -0
  141. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/fcfnwi.py +0 -0
  142. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/fcfnwn.py +0 -0
  143. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/inviab_unic.py +0 -0
  144. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/oper_desvio_fpha.py +0 -0
  145. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/polinjus.py +0 -0
  146. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/relato.py +0 -0
  147. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/relgnl.py +0 -0
  148. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/sumario.py +0 -0
  149. {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/mock_open.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: idecomp
3
- Version: 1.3.0
3
+ Version: 1.4.0
4
4
  Summary: Interface para arquivos do DECOMP
5
5
  Home-page: https://github.com/rjmalves/idecomp
6
6
  Author: Rogerio Alves
@@ -14,7 +14,7 @@ Description-Content-Type: text/markdown
14
14
  License-File: LICENSE.md
15
15
  Requires-Dist: numpy
16
16
  Requires-Dist: pandas
17
- Requires-Dist: cfinterface>=1.5.3
17
+ Requires-Dist: cfinterface>=1.7.0
18
18
 
19
19
  # idecomp
20
20
 
@@ -6,6 +6,6 @@ idecomp é um módulo em Python para manipulação dos arquivos de entrada
6
6
  e saída do DECOMP.
7
7
  """
8
8
 
9
- __version__ = "1.3.0"
9
+ __version__ = "1.4.0"
10
10
 
11
11
  from . import decomp # noqa
@@ -48,3 +48,4 @@ MESES_ABREV = [
48
48
  "NOV",
49
49
  "DEZ",
50
50
  ]
51
+ FORMATO_CAMPOS_DATA_LIBS = ["%Y/%m/%d %H:%M", "%Y/%m/%d", "%Y/%m"]
@@ -84,6 +84,7 @@ from idecomp.decomp.modelos.dadger import (
84
84
  VL,
85
85
  VA,
86
86
  VU,
87
+ DA,
87
88
  )
88
89
 
89
90
  import pandas # type: ignore
@@ -211,6 +212,7 @@ class Dadger(RegisterFile):
211
212
  VL,
212
213
  VA,
213
214
  VU,
215
+ DA,
214
216
  ]
215
217
 
216
218
  def __init__(self, data=...) -> None:
@@ -1000,6 +1002,35 @@ class Dadger(RegisterFile):
1000
1002
  """
1001
1003
  return self.__registros_ou_df(TI, codigo_usina=codigo_usina, df=df)
1002
1004
 
1005
+ def da(
1006
+ self,
1007
+ codigo_usina_retirada: Optional[int] = None,
1008
+ codigo_usina_retorno: Optional[int] = None,
1009
+ df: bool = False,
1010
+ ) -> Optional[Union[DA, List[DA], pandas.DataFrame]]:
1011
+ """
1012
+ Obtém um registro que especifica as retiradas de água para
1013
+ outros usos (desvios de água) por usina (UHE) existente no
1014
+ estudo especificado no :class:`Dadger`
1015
+
1016
+ :param codigo_usina_retirada: Código da UHE a montante da qual será feita a retirada
1017
+ :type codigo_usina_retirada: int | None
1018
+ :param codigo_usina_retorno: Código da UHE a montante da qual se derá o retorno.
1019
+ :type codigo_usina_retorno: int | None
1020
+ :param df: ignorar os filtros e retornar
1021
+ todos os dados de registros como um DataFrame
1022
+ :type df: bool
1023
+
1024
+ :return: Um ou mais registros, se existirem.
1025
+ :rtype: :class:`DA` | list[:class:`DA`] | :class:`pandas.DataFrame` | None
1026
+ """
1027
+ return self.__registros_ou_df(
1028
+ DA,
1029
+ codigo_usina_retirada=codigo_usina_retirada,
1030
+ codigo_usina_retorno=codigo_usina_retorno,
1031
+ df=df,
1032
+ )
1033
+
1003
1034
  def mp(
1004
1035
  self,
1005
1036
  codigo_usina: Optional[int] = None,
@@ -11,6 +11,8 @@ class BlocoNomesArquivos(Section):
11
11
  arquivos de entrada do DECOMP.
12
12
  """
13
13
 
14
+ __slots__ = ["__linha"]
15
+
14
16
  def __init__(self, previous=None, next=None, data=None) -> None:
15
17
  super().__init__(previous, next, data)
16
18
  self.__linha = Line([LiteralField(80, 0)])
@@ -13,6 +13,8 @@ class TabelaCortesFpha(TabelaCSV):
13
13
  Bloco com as informações dos cortes da função de produção hidráulica.
14
14
  """
15
15
 
16
+ __slots__ = []
17
+
16
18
  BEGIN_PATTERN = "-----;-----;--------------;"
17
19
  LINE_MODEL = Line(
18
20
  [
@@ -11,6 +11,8 @@ class TabelaCSV(Block):
11
11
  a partir de um modelo de linha, para arquivos de saída do DECOMP.
12
12
  """
13
13
 
14
+ __slots__ = []
15
+
14
16
  BEGIN_PATTERN = "-----;------;"
15
17
  LINE_MODEL = Line([])
16
18
  COLUMN_NAMES: List[str] = []
@@ -66,6 +68,8 @@ class TabelaCSVLibs(Block):
66
68
  a partir de um modelo de linha, para arquivos de saída do DECOMP.
67
69
  """
68
70
 
71
+ __slots__ = []
72
+
69
73
  BEGIN_PATTERN = "&IIIIIII;IIIIIII;"
70
74
  LINE_MODEL = Line([])
71
75
  COLUMN_NAMES: List[str] = []
@@ -11,6 +11,8 @@ class VersaoModelo(Block):
11
11
  título do arquivo.
12
12
  """
13
13
 
14
+ __slots__ = []
15
+
14
16
  BEGIN_PATTERN = r"CEPEL: DECOMP"
15
17
  END_PATTERN = ""
16
18
 
@@ -34,6 +36,8 @@ class VersaoModeloLibs(Block):
34
36
  título do arquivo.
35
37
  """
36
38
 
39
+ __slots__ = []
40
+
37
41
  BEGIN_PATTERN = r"Nome do Modelo: DECOMP Versão:"
38
42
  END_PATTERN = ""
39
43
 
@@ -10,6 +10,8 @@ class NomeCaso(Section):
10
10
  entrada do DECOMP `caso.dat`.
11
11
  """
12
12
 
13
+ __slots__ = ["__linha"]
14
+
13
15
  def __init__(self, previous=None, next=None, data=None) -> None:
14
16
  super().__init__(previous, next, data)
15
17
  self.__linha = Line([LiteralField(80, 0)])
@@ -13,6 +13,14 @@ from typing import IO, List
13
13
  class BlocoRelatorioCustos(Block):
14
14
  """ """
15
15
 
16
+ __slots__ = [
17
+ "__scenario_line",
18
+ "__dual_variables_line",
19
+ "__fcf_line",
20
+ "dados_cenario",
21
+ "data",
22
+ ]
23
+
16
24
  BEGIN_PATTERN = r" RELATORIO DAS VARIAVEIS DUAIS NO ESTAGIO"
17
25
  END_PATTERN = "X----X-"
18
26