Добавление 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
|
# Event status
|
||||||
IS_EVENT = true
|
IS_EVENT = true
|
||||||
AUTO_PUBLISH = true
|
AUTO_PUBLISH = true
|
||||||
|
PROCESS_EVENT_UPDATES = true
|
||||||
|
|
||||||
# OpenRouter
|
# OpenRouter
|
||||||
OR_KEY = "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"
|
OR_KEY = "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"
|
||||||
|
|||||||
+8
-4
@@ -17,6 +17,7 @@ MDB_USER = os.getenv('MDB_USER')
|
|||||||
MDB_PW = os.getenv('MDB_PW')
|
MDB_PW = os.getenv('MDB_PW')
|
||||||
MDBASE = os.getenv('MDBASE')
|
MDBASE = os.getenv('MDBASE')
|
||||||
LOG_FILE = os.getenv('LOG_FILE')
|
LOG_FILE = os.getenv('LOG_FILE')
|
||||||
|
PROCESS_EVENT_UPDATES = os.getenv('PROCESS_EVENT_UPDATES', 'false').lower() == 'true'
|
||||||
|
|
||||||
def log_message(message, category="JSON_loader"):
|
def log_message(message, category="JSON_loader"):
|
||||||
"""Функция для записи в лог-файл с повторными попытками при блокировке"""
|
"""Функция для записи в лог-файл с повторными попытками при блокировке"""
|
||||||
@@ -146,12 +147,13 @@ def process_json_data():
|
|||||||
existing_modified = existing_modified.replace(tzinfo=None)
|
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
|
||||||
name_changed = existing['name'] != 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(
|
cursor.execute(
|
||||||
@@ -168,8 +170,10 @@ def process_json_data():
|
|||||||
|
|
||||||
# Формирование сообщения для лога
|
# Формирование сообщения для лога
|
||||||
update_msg = f"Обновление: Запись {id_event}, Updated: {modified}"
|
update_msg = f"Обновление: Запись {id_event}, Updated: {modified}"
|
||||||
if name_changed:
|
if name_changed and PROCESS_EVENT_UPDATES:
|
||||||
update_msg += ". Флаг публикации сброшен."
|
update_msg += ". Флаг публикации сброшен."
|
||||||
|
elif name_changed and not PROCESS_EVENT_UPDATES:
|
||||||
|
update_msg += ". Имя изменено, но флаг публикации сохранен (PROCESS_EVENT_UPDATES=false)."
|
||||||
log_message(update_msg)
|
log_message(update_msg)
|
||||||
|
|
||||||
connection.commit()
|
connection.commit()
|
||||||
|
|||||||
Reference in New Issue
Block a user