Добавление PROCESS_EVENT_UPDATES и возможности отключать этой переменной автопостинг для обновляемых событий
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@@ -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
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user