fix old config format
All checks were successful
Test Build / test-build (push) Successful in 2s

This commit is contained in:
2025-07-30 19:17:16 +03:00
parent ca8e70781c
commit 38f35d1915
2 changed files with 36 additions and 17 deletions

1
app.py
View File

@@ -70,6 +70,7 @@ def create_app():
user_id = config.user_id user_id = config.user_id
mappings = config.mappings mappings = config.mappings
for sheer_title, params in mappings.items(): for sheer_title, params in mappings.items():
if isinstance(params, dict):
cron_schedule = params.get('schedule_cron') cron_schedule = params.get('schedule_cron')
if cron_schedule: if cron_schedule:
job_id = f"user_{user_id}_sheet_{sheer_title}" job_id = f"user_{user_id}_sheet_{sheer_title}"

View File

@@ -131,13 +131,20 @@ def logout():
@login_required @login_required
def index(): def index():
config = g.user_config config = g.user_config
clean_mappings = {}
if config.mappings:
for key, value in config.mappings.items():
if value['report_id']:
clean_mappings[key] = value
else:
clean_mappings[key] = {'report_id': value, 'schedule_cron': None, 'schedule_period': None}
return render_template( return render_template(
'index.html', 'index.html',
rms_config=config.get_rms_dict(), rms_config=config.get_rms_dict(),
google_config=config.get_google_dict(), google_config=config.get_google_dict(),
presets=config.presets, presets=config.presets,
sheets=config.sheets, sheets=config.sheets,
mappings=config.mappings, mappings=clean_mappings,
client_email=config.google_client_email client_email=config.google_client_email
) )
@@ -291,10 +298,18 @@ def mapping_set():
if selected_report_id: if selected_report_id:
# Получаем существующие данные расписания для этого листа # Получаем существующие данные расписания для этого листа
existing_schedule = current_mappings.get(sheet['title'], {}) existing_schedule = current_mappings.get(sheet['title'], {})
schedule_cron = None
schedule_period = None
if isinstance(existing_mapping_value, dict):
schedule_cron = existing_mapping_value.get('schedule_cron')
schedule_period = existing_mapping_value.get('schedule_period')
# Сохраняем новые настройки расписания в новом словаре
new_mappings[sheet['title']] = { new_mappings[sheet['title']] = {
'report_id': selected_report_id, 'report_id': selected_report_id,
'schedule_cron': existing_schedule.get('schedule_cron'), 'schedule_cron': schedule_cron,
'schedule_period': existing_schedule.get('schedule_period') 'schedule_period': schedule_period
} }
config.mappings = new_mappings config.mappings = new_mappings
@@ -462,6 +477,9 @@ def save_schedule():
updated_mappings = config.mappings or {} updated_mappings = config.mappings or {}
for sheet_title, params in updated_mappings.items(): for sheet_title, params in updated_mappings.items():
if not isinstance(params, dict):
continue
cron_value = request.form.get(f"cron-{sheet_title}", "").strip() cron_value = request.form.get(f"cron-{sheet_title}", "").strip()
period_value = request.form.get(f"period-{sheet_title}", "").strip() period_value = request.form.get(f"period-{sheet_title}", "").strip()