Добавление PROCESS_EVENT_UPDATES и возможности отключать этой переменной автопостинг для обновляемых событий
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2025-10-12 11:55:44 +03:00
parent f1b8e5dbc8
commit 0905b21570
2 changed files with 9 additions and 4 deletions
+1
View File
@@ -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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"
+8 -4
View File
@@ -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()