fractal refactor
This commit is contained in:
@@ -2,7 +2,7 @@ from superset_tool.models import SupersetConfig
|
||||
from superset_tool.client import SupersetClient
|
||||
from superset_tool.utils.logger import SupersetLogger
|
||||
from superset_tool.exceptions import AuthenticationError
|
||||
from superset_tool.utils.fileio import save_and_unpack_dashboard, update_db_yaml, create_dashboard_export, create_temp_file
|
||||
from superset_tool.utils.fileio import save_and_unpack_dashboard, update_yamls, create_dashboard_export, create_temp_file,read_dashboard_from_disk
|
||||
import os
|
||||
import keyring
|
||||
from pathlib import Path
|
||||
@@ -15,7 +15,7 @@ logger = SupersetLogger(
|
||||
console=True
|
||||
)
|
||||
|
||||
database_config_click={"new":
|
||||
database_config_click={"old":
|
||||
{
|
||||
"database_name": "Prod Clickhouse",
|
||||
"sqlalchemy_uri": "clickhousedb+connect://clicketl:XXXXXXXXXX@rgm-s-khclk.hq.root.ad:443/dm",
|
||||
@@ -25,7 +25,7 @@ database_config_click={"new":
|
||||
"allow_cvas": "false",
|
||||
"allow_dml": "false"
|
||||
},
|
||||
"old": {
|
||||
"new": {
|
||||
"database_name": "Dev Clickhouse",
|
||||
"sqlalchemy_uri": "clickhousedb+connect://dwhuser:XXXXXXXXXX@10.66.229.179:8123/dm",
|
||||
"uuid": "e9fd8feb-cb77-4e82-bc1d-44768b8d2fc2",
|
||||
@@ -36,7 +36,7 @@ database_config_click={"new":
|
||||
}
|
||||
}
|
||||
|
||||
database_config_gp={"new":
|
||||
database_config_gp={"old":
|
||||
{
|
||||
"database_name": "Prod Greenplum",
|
||||
"sqlalchemy_uri": "postgresql+psycopg2://viz_powerbi_gp_prod:XXXXXXXXXX@10.66.229.201:5432/dwh",
|
||||
@@ -46,7 +46,7 @@ database_config_gp={"new":
|
||||
"allow_cvas": "true",
|
||||
"allow_dml": "true"
|
||||
},
|
||||
"old": {
|
||||
"new": {
|
||||
"database_name": "DEV Greenplum",
|
||||
"sqlalchemy_uri": "postgresql+psycopg2://viz_superset_gp_dev:XXXXXXXXXX@10.66.229.171:5432/dwh",
|
||||
"uuid": "97b97481-43c3-4181-94c5-b69eaaa1e11f",
|
||||
@@ -102,9 +102,9 @@ dev_client = SupersetClient(dev_config)
|
||||
sandbox_client = SupersetClient(sandbox_config)
|
||||
prod_client = SupersetClient(prod_config)
|
||||
|
||||
from_c = dev_client
|
||||
to_c = sandbox_client
|
||||
dashboard_slug = "FI0050"
|
||||
from_c = sandbox_client
|
||||
to_c = dev_client
|
||||
dashboard_slug = "FI0070"
|
||||
dashboard_id = 53
|
||||
|
||||
dashboard_meta = from_c.get_dashboard(dashboard_slug)
|
||||
@@ -115,8 +115,11 @@ dashboard_id = dashboard_meta["id"]
|
||||
|
||||
with create_temp_file(suffix='.dir', logger=logger) as temp_root:
|
||||
# Экспорт дашборда во временную директорию
|
||||
zip_content, filename = from_c.export_dashboard(dashboard_id, logger=logger)
|
||||
|
||||
#zip_content, filename = from_c.export_dashboard(dashboard_id, logger=logger)
|
||||
zip_db_path = r"C:\Users\VolobuevAA\Downloads\dashboard_export_20250616T174203.zip"
|
||||
|
||||
zip_content, filename = read_dashboard_from_disk(zip_db_path, logger=logger)
|
||||
|
||||
# Сохранение и распаковка во временную директорию
|
||||
zip_path, unpacked_path = save_and_unpack_dashboard(
|
||||
zip_content=zip_content,
|
||||
@@ -128,8 +131,7 @@ with create_temp_file(suffix='.dir', logger=logger) as temp_root:
|
||||
|
||||
# Обновление конфигураций
|
||||
source_path = unpacked_path / Path(filename).stem
|
||||
update_db_yaml(database_config_click, path=source_path, logger=logger)
|
||||
update_db_yaml(database_config_gp, path=source_path, logger=logger)
|
||||
update_yamls([database_config_click,database_config_gp], path=source_path, logger=logger)
|
||||
|
||||
# Создание нового экспорта во временной директории
|
||||
temp_zip = temp_root / f"{dashboard_slug}.zip"
|
||||
|
||||
Reference in New Issue
Block a user