From f2e58ec15d84d5a47ce568446ab922934fca8316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Omar=20S=C3=A1nchez=20Pizarro?= Date: Tue, 20 Jan 2026 14:54:27 +0100 Subject: [PATCH] no update fechas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Omar Sánchez Pizarro --- managers/mongodb_manager.py | 61 +------------------------------------ 1 file changed, 1 insertion(+), 60 deletions(-) diff --git a/managers/mongodb_manager.py b/managers/mongodb_manager.py index f0f1863..3facc52 100644 --- a/managers/mongodb_manager.py +++ b/managers/mongodb_manager.py @@ -125,66 +125,7 @@ class MongoDBArticleCache: } # Preparar user_info basándose en lo que existe realmente en MongoDB - if existing: - # Artículo existe, actualizar user_info - existing_user_info = existing.get('user_info', []) - - # Buscar si ya existe user_info para este usuario - user_info_index = None - for i, ui in enumerate(existing_user_info): - if ui.get('username') == username: - user_info_index = i - break - - if user_info_index is not None: - # Actualizar user_info existente pero mantener notified_at original - existing_user_info_entry = existing_user_info[user_info_index] - existing_user_info[user_info_index] = { - 'username': existing_user_info_entry.get('username'), - 'worker_name': worker_name or existing_user_info_entry.get('worker_name'), - 'notified': True, - 'notified_at': existing_user_info_entry.get('notified_at'), # Preservar notified_at original - 'is_favorite': existing_user_info_entry.get('is_favorite', False), - } - else: - # Añadir nuevo user_info - existing_user_info.append({ - 'username': username, - 'worker_name': worker_name, - 'notified': True, - 'notified_at': now, - 'is_favorite': False, - }) - - # Solo actualizar precio si es diferente, no actualizar fechas de notificación - existing_price = existing.get('price') - new_price = article.get_price() - if existing_price == new_price: - # Si el precio es el mismo, solo actualizar user_info y eliminar notifiedAt a nivel de artículo - operations.append( - UpdateOne( - {'platform': platform, 'id': article_id}, - { - '$set': {'user_info': existing_user_info}, - '$unset': {'notifiedAt': '', 'notified_at': ''} - } - ) - ) - else: - # Precio diferente, actualizar campos del artículo + user_info - # Mantener createdAt/updatedAt originales (no se incluyen en el $set) - update_data = dict(base_fields) - update_data['user_info'] = existing_user_info - operations.append( - UpdateOne( - {'platform': platform, 'id': article_id}, - { - '$set': update_data, - '$unset': {'notifiedAt': '', 'notified_at': ''} - } - ) - ) - else: + if existing is None: # Artículo nuevo new_article_data = dict(base_fields) new_article_data['user_info'] = [{