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.
- {idecomp-1.3.0 → idecomp-1.4.0}/PKG-INFO +2 -2
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/__init__.py +1 -1
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/config.py +1 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dadger.py +31 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/arquivos.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/avl_cortesfpha_dec.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/blocos/tabelacsv.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/blocos/versaomodelo.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/caso.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/custos.py +8 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dadger.py +274 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dadgnl.py +8 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_avl_evap.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_cortes_evap.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_desvfpha.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_eco_cotajus.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_eco_discr.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_fcf_cortes.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_gnl.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_interc.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_ree.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_sist.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_usie.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_usih.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/dec_oper_usit.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/decomptim.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/fcfnw.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/hidr.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/inviabunic.py +4 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/oper_desvio_fpha.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/postos.py +2 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/relato.py +54 -2
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/relgnl.py +8 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/vazoes.py +2 -0
- idecomp-1.4.0/idecomp/libs/modelos/restricoes.py +1945 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/modelos/usinas_hidreletricas.py +10 -0
- idecomp-1.4.0/idecomp/libs/restricoes.py +1057 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/PKG-INFO +2 -2
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/SOURCES.txt +4 -0
- idecomp-1.4.0/idecomp.egg-info/requires.txt +3 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dadger.py +31 -0
- idecomp-1.4.0/tests/libs/test_restricoes.py +708 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dadger.py +1 -1
- idecomp-1.4.0/tests/mocks/arquivos/restricoes_libs.py +156 -0
- idecomp-1.3.0/idecomp.egg-info/requires.txt +0 -3
- {idecomp-1.3.0 → idecomp-1.4.0}/LICENSE.md +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/README.md +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/arquivos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/avl_cortesfpha_dec.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/caso.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/custos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dadgnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_avl_evap.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_cortes_evap.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_desvfpha.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_eco_cotajus.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_eco_discr.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_fcf_cortes.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_gnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_interc.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_ree.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_sist.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_usie.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_usih.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/dec_oper_usit.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/decomptim.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/fcfnw.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/hidr.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/inviabunic.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/arquivoscsv/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/arquivoscsv/arquivocsv.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/modelos/blocos/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/oper_desvio_fpha.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/postos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/relato.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/relgnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/decomp/vazoes.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/modelos/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/libs/usinas_hidreletricas.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp/py.typed +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/dependency_links.txt +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/idecomp.egg-info/top_level.txt +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/setup.cfg +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/setup.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_arquivos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_avl_cortesfpha_dec.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_caso.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_custos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dadgnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_avl_evap.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_cortes_evap.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_desvfpha.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_eco_cotajus.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_eco_discr.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_fcf_cortes.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_gnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_interc.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_ree.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_sist.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_usie.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_usih.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_dec_oper_usit.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_decomptim.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_fcfnw.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_hidr.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_inviabunic.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_oper_desvio_fpha.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_postos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_relato.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_relgnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_sumario.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/decomp/test_vazoes.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/libs/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/libs/test_usinas_hidreletricas.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/__init__.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/arquivos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/avl_cortesfpha_dec.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/caso.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/custos.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dadgnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_avl_evap.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_cortes_evap.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_desvfpha.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_eco_cotajus.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_eco_discr.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_fcf_cortes.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_gnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_interc.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_ree.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_sist.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_usie.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_usih.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/dec_oper_usit.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/decomptim.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/fcfnwi.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/fcfnwn.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/inviab_unic.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/oper_desvio_fpha.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/polinjus.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/relato.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/relgnl.py +0 -0
- {idecomp-1.3.0 → idecomp-1.4.0}/tests/mocks/arquivos/sumario.py +0 -0
- {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
|
+
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.
|
|
17
|
+
Requires-Dist: cfinterface>=1.7.0
|
|
18
18
|
|
|
19
19
|
# idecomp
|
|
20
20
|
|
|
@@ -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)])
|
|
@@ -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
|
|
|
@@ -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
|
|