diff --git a/.env b/.env index 6cd447c..43aa004 100644 --- a/.env +++ b/.env @@ -89,6 +89,7 @@ DESC_PREFIX = "https://reg.konvent.ru/zk2025/events/actions/" # Event status IS_EVENT = true AUTO_PUBLISH = true +PROCESS_EVENT_UPDATES = true # OpenRouter OR_KEY = "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" diff --git a/zk_load.py b/zk_load.py index 3b14853..661d757 100644 --- a/zk_load.py +++ b/zk_load.py @@ -17,6 +17,7 @@ MDB_USER = os.getenv('MDB_USER') MDB_PW = os.getenv('MDB_PW') MDBASE = os.getenv('MDBASE') LOG_FILE = os.getenv('LOG_FILE') +PROCESS_EVENT_UPDATES = os.getenv('PROCESS_EVENT_UPDATES', 'false').lower() == 'true' def log_message(message, category="JSON_loader"): """Функция для записи в лог-файл с повторными попытками при блокировке""" @@ -146,12 +147,13 @@ def process_json_data(): existing_modified = existing_modified.replace(tzinfo=None) # Проверка расхождения во времени - time_diff = abs(modified - existing_modified) if modified and existing_modified else timedelta(minutes=2) + time_diff = abs(modified - existing_modified) if modified and existing_modified else timedelta(seconds=2) - if time_diff > timedelta(minutes=1): + if time_diff > timedelta(seconds=1): # Проверка изменения только по полю name name_changed = existing['name'] != name - is_posted_tg = 0 if name_changed else existing['is_posted_tg'] + # Сброс флага is_posted_tg только если PROCESS_EVENT_UPDATES = true + is_posted_tg = 0 if (name_changed and PROCESS_EVENT_UPDATES) else existing['is_posted_tg'] # Обновление записи cursor.execute( @@ -168,8 +170,10 @@ def process_json_data(): # Формирование сообщения для лога update_msg = f"Обновление: Запись {id_event}, Updated: {modified}" - if name_changed: + if name_changed and PROCESS_EVENT_UPDATES: update_msg += ". Флаг публикации сброшен." + elif name_changed and not PROCESS_EVENT_UPDATES: + update_msg += ". Имя изменено, но флаг публикации сохранен (PROCESS_EVENT_UPDATES=false)." log_message(update_msg) connection.commit()