File size: 2,387 Bytes
d6c9678
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e8db196
d6c9678
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f7fe834
2e13456
 
 
d6c9678
 
 
 
0d8b6ec
d6c9678
 
 
 
 
 
 
 
 
 
 
0d8b6ec
d6c9678
 
 
 
 
1
2
3
4
5
6
7
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from __future__ import annotations

from dataclasses import dataclass, field
from pathlib import Path
from typing import Any

import pandas as pd


@dataclass
class SessionState:
    session_id: str
    workdir: Path

    uploaded_file_path: str | None = None
    uploaded_filename: str | None = None
    available_sheets: list[str] = field(default_factory=list)

    df_original: pd.DataFrame | None = None
    df_filtrado: pd.DataFrame | None = None
    df_geo_origem: pd.DataFrame | None = None

    coluna_y: str | None = None
    colunas_x: list[str] = field(default_factory=list)
    dicotomicas: list[str] = field(default_factory=list)
    codigo_alocado: list[str] = field(default_factory=list)
    percentuais: list[str] = field(default_factory=list)

    transformacao_y: str = "(x)"
    transformacoes_x: dict[str, str] = field(default_factory=dict)

    resultados_busca: list[dict[str, Any]] = field(default_factory=list)
    resultado_modelo: dict[str, Any] | None = None

    tabela_estatisticas: pd.DataFrame | None = None
    tabela_metricas_estado: pd.DataFrame | None = None

    outliers_anteriores: list[int] = field(default_factory=list)
    iteracao: int = 1

    avaliacoes_elaboracao: list[dict[str, Any]] = field(default_factory=list)

    geo_falhas_df: pd.DataFrame | None = None
    geo_col_cdlog: str | None = None
    geo_col_num: str | None = None
    mapa_habilitado: bool = False
    coluna_data_mercado: str | None = None
    periodo_dados_mercado_inicio: str | None = None
    periodo_dados_mercado_fim: str | None = None

    pacote_visualizacao: dict[str, Any] | None = None
    dados_visualizacao: pd.DataFrame | None = None
    avaliacoes_visualizacao: list[dict[str, Any]] = field(default_factory=list)
    graficos_dispersao_cache: dict[str, dict[str, Any]] = field(default_factory=dict)

    elaborador: dict[str, Any] | None = None

    def reset_modelo(self) -> None:
        self.resultados_busca = []
        self.resultado_modelo = None
        self.tabela_estatisticas = None
        self.tabela_metricas_estado = None
        self.avaliacoes_elaboracao = []
        self.transformacao_y = "(x)"
        self.transformacoes_x = {}
        self.graficos_dispersao_cache = {}

    def reset_visualizacao(self) -> None:
        self.pacote_visualizacao = None
        self.dados_visualizacao = None
        self.avaliacoes_visualizacao = []