#!/usr/bin/env python3 """ Ejemplo de uso de la nueva funcionalidad de sincronización CRM con Google Meet Este script muestra cómo usar la función de sincronización con diferentes tipos de parámetros: 1. Entero (días hacia atrás) 2. Fecha específica (formato YYYY-MM-DD) Uso: python3 example_usage.py """ import sys import os # Agregar el directorio de Odoo al path sys.path.append('/var/odoo/stg2.mcteam.run/src') # Configurar variables de entorno os.environ['ODOO_RC'] = '/var/odoo/stg2.mcteam.run/odoo.conf' def test_sync_with_days_back(): """Ejemplo: Sincronizar meets de los últimos 7 días""" print("🔄 Ejemplo 1: Sincronizar meets de los últimos 7 días") print("=" * 60) try: import odoo from odoo import api, SUPERUSER_ID # Inicializar Odoo odoo.cli.server.main() # Crear entorno env = api.Environment(odoo.registry('stg2.mcteam.run').cursor(), SUPERUSER_ID, {}) # Ejecutar sincronización con días hacia atrás result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=7) print(f"✅ Resultado: {result}") except Exception as e: print(f"❌ Error: {str(e)}") finally: if 'env' in locals(): env.cr.close() def test_sync_with_specific_date(): """Ejemplo: Sincronizar meets de una fecha específica""" print("\n🔄 Ejemplo 2: Sincronizar meets de una fecha específica") print("=" * 60) try: import odoo from odoo import api, SUPERUSER_ID # Inicializar Odoo odoo.cli.server.main() # Crear entorno env = api.Environment(odoo.registry('stg2.mcteam.run').cursor(), SUPERUSER_ID, {}) # Ejecutar sincronización con fecha específica specific_date = "2024-08-30" # Cambiar por la fecha que quieras probar result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=specific_date) print(f"✅ Resultado para fecha {specific_date}: {result}") except Exception as e: print(f"❌ Error: {str(e)}") finally: if 'env' in locals(): env.cr.close() def test_sync_with_string_days(): """Ejemplo: Sincronizar meets usando string como días""" print("\n🔄 Ejemplo 3: Sincronizar meets usando string como días") print("=" * 60) try: import odoo from odoo import api, SUPERUSER_ID # Inicializar Odoo odoo.cli.server.main() # Crear entorno env = api.Environment(odoo.registry('stg2.mcteam.run').cursor(), SUPERUSER_ID, {}) # Ejecutar sincronización con string de días result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter="3") print(f"✅ Resultado para últimos 3 días: {result}") except Exception as e: print(f"❌ Error: {str(e)}") finally: if 'env' in locals(): env.cr.close() def show_usage_examples(): """Mostrar ejemplos de uso""" print("📋 EJEMPLOS DE USO DE LA NUEVA FUNCIONALIDAD") print("=" * 60) print() print("La función ahora acepta dos tipos de parámetros:") print() print("1️⃣ ENTERO (días hacia atrás):") print(" - time_filter=15 # Últimos 15 días") print(" - time_filter=7 # Últimos 7 días") print(" - time_filter=1 # Último día") print() print("2️⃣ FECHA ESPECÍFICA (formato YYYY-MM-DD):") print(" - time_filter='2024-08-30' # Solo meets del 30 de agosto de 2024") print(" - time_filter='2024-08-31' # Solo meets del 31 de agosto de 2024") print(" - time_filter='2024-01-15' # Solo meets del 15 de enero de 2024") print() print("3️⃣ STRING COMO ENTERO:") print(" - time_filter='3' # Últimos 3 días") print(" - time_filter='10' # Últimos 10 días") print() print("🔧 CÓMO USAR EN PRODUCCIÓN:") print() print("Desde la consola de Odoo:") print(">>> env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=15)") print(">>> env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='2024-08-30')") print() print("Desde línea de comandos:") print("$ python3 -c \"import odoo; odoo.cli.server.main(); env = odoo.api.Environment(odoo.registry('stg2.mcteam.run').cursor(), odoo.SUPERUSER_ID, {}); result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='2024-08-30'); print(result); env.cr.close()\"") print() print("🎯 CASOS DE USO:") print("- Para pruebas en producción: Usar fecha específica") print("- Para sincronización diaria: Usar entero (1)") print("- Para sincronización semanal: Usar entero (7)") print("- Para sincronización mensual: Usar entero (30)") if __name__ == "__main__": show_usage_examples() # Descomentar las líneas siguientes para ejecutar los ejemplos # test_sync_with_days_back() # test_sync_with_specific_date() # test_sync_with_string_days()