Ejemplo n.º 1
0
def controlador_accion_Borrar(hermes, MensajeIntent, conf):
    if (not MensajeIntent.slots.Repeticion):
        sesion = MensajeIntent.session_id
        if (MensajeIntent.slots.Fecha):
            fecha = MensajeIntent.slots.Fecha.first().value
            fecha = fecha[:fecha.index('+') - 1]
            fechaObjeto = datetime.strptime(fecha, "%Y-%m-%d %H:%M:%S")
            med = MensajeIntent.slots.Medicamento.first().value
            mensaje = Snips.usuario + " está borrando el recordatorio para el día  " + str(
                fechaObjeto.day) + " de " + str(
                    fechaObjeto.month) + " del " + str(
                        fechaObjeto.year) + " a las " + str(
                            fechaObjeto.hour) + minutos(
                                fechaObjeto.minute) + " tomar " + med
            e = Evento(med, fechaObjeto, Snips.usuario, False, '')
            if (Snips.ExisteEvento(e)):
                e.IncrementarVeces()
                print('Evento a borrar: tomar ' + str(e))
                Snips.borrarEvento(e)
                Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                job = fecha + ',' + e.med + ',' + e.usuario
                if (existe_Trabajo(job)):
                    Snips.planificador.remove_job(job)

                job = 'Evento no repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario
                if (existe_Trabajo1(job)):
                    Snips.planificador1.remove_job(job)
            else:
                mensaje = 'Evento a borrar no existe'
                Snips.log(None, '', '', 'Error', mensaje)
        else:
            mensaje = 'Fecha errónea. Vuelve a introducir el comando'
        hermes.publish_end_session(MensajeIntent.session_id, mensaje)
    else:
        print('Borrando evento rep')
        sesion = MensajeIntent.session_id
        if (MensajeIntent.slots.Fecha):
            fecha = MensajeIntent.slots.Fecha.first().value
            fecha = fecha[:fecha.index('+') - 1]
            fechaObjeto = datetime.strptime(fecha, "%Y-%m-%d %H:%M:%S")
        else:
            fecha = datetime.today().replace(
                hour=0, minute=0, second=0,
                microsecond=0).strftime("%Y-%m-%d %H:%M")
            fechaObjeto = datetime.strptime(fecha, "%Y-%m-%d %H:%M")

        med = MensajeIntent.slots.Medicamento.first().value
        if (not MensajeIntent.slots.cantidad):
            veces = 1
        else:
            veces = int(MensajeIntent.slots.cantidad.first().value)
        if (veces == 0):
            mensaje = 'No se puede borrar un evento repetitivo con cantidad igual a 0.'
        else:
            frecuencia = MensajeIntent.slots.Repeticion.first().value

            if (frecuencia == 'diariamente'):
                mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' todos los dias empezando ' + str(
                    fecha)
                e = Evento(med, fechaObjeto, Snips.usuario, True, '1 dia')
                print(e)
                if (Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    job = 'Repeticion diaria,' + med + ',' + Snips.usuario + ',' + str(
                        fechaObjeto)
                    Snips.borrarEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                    if (existe_Trabajo(job)):
                        Snips.planificador.remove_job(job)

                    job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                    if (existe_Trabajo1(job)):
                        Snips.planificador1.remove_job(job)
                else:
                    mensaje = 'Evento a borrar no existe'
                    Snips.log(None, '', '', 'Error', mensaje)

            elif (frecuencia == 'dia'):
                if (veces > 30):
                    mensaje = "No se puede borrar un evento repetitivo con cant mayor a 30 días."
                else:
                    mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' dias empezando ' + str(fecha)
                    e = Evento(med, fechaObjeto, Snips.usuario, True,
                               str(veces) + ' dia')
                    if (Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        job = 'Repeticion cada ' + str(
                            veces
                        ) + ' dias,' + med + ',' + Snips.usuario + ',' + str(
                            fechaObjeto)
                        Snips.borrarEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                        if (existe_Trabajo(job)):
                            Snips.planificador.remove_job(job)

                        job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                        if (existe_Trabajo1(job)):
                            Snips.planificador1.remove_job(job)
                    else:
                        mensaje = 'Evento a borrar no existe'
                        Snips.log(None, '', '', 'Error', mensaje)

            elif (frecuencia == 'mes'):
                if (veces > 11):
                    mensaje = "No se puede borrar un evento repetitivo con cant igual o mayor que 11 meses"
                else:
                    mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' meses empezando ' + str(fecha)
                    e = Evento(med, fechaObjeto, Snips.usuario, True,
                               str(veces) + ' mes')
                    if (Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        job = 'Repeticion ' + str(
                            veces
                        ) + ' meses ,' + med + ',' + Snips.usuario + ',' + str(
                            fechaObjeto)
                        Snips.borrarEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                        if (existe_Trabajo(job)):
                            Snips.planificador.remove_job(job)

                        job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                        if (existe_Trabajo1(job)):
                            Snips.planificador1.remove_job(job)
                    else:
                        mensaje = 'Evento a borrar no existe'
                        Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'semana'):
                if (veces > 30):
                    mensaje = "No se puede borrar un evento repetitivo con cant mayor a 30 semanas."
                else:
                    mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' semanas empezando ' + str(fecha)
                    e = Evento(med, fechaObjeto, Snips.usuario, True,
                               str(veces) + ' semana')
                    if (Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        job = 'Repeticion ' + str(
                            veces
                        ) + ' semanas,' + med + ',' + Snips.usuario + ',' + str(
                            fechaObjeto)
                        Snips.borrarEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                        if (existe_Trabajo(job)):
                            Snips.planificador.remove_job(job)

                        job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                        if (existe_Trabajo1(job)):
                            Snips.planificador1.remove_job(job)
                    else:
                        mensaje = 'Evento a borrar no existe'
                        Snips.log(None, '', '', 'Error', mensaje)

            elif (frecuencia == 'hora'):
                if (veces > 23):
                    mensaje = "No se puede borrar un evento repetitivo con cant sea 23 horas o más."
                else:
                    mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' horas empezando ' + str(fecha)
                    e = Evento(med, fechaObjeto, Snips.usuario, True,
                               str(veces) + ' hora')
                    if (Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        job = 'Repeticion ' + str(
                            veces
                        ) + ' horas,' + med + ',' + Snips.usuario + ',' + str(
                            fechaObjeto)
                        Snips.borrarEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                        if (existe_Trabajo(job)):
                            Snips.planificador.remove_job(job)

                        job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                        if (existe_Trabajo1(job)):
                            Snips.planificador1.remove_job(job)
                    else:
                        mensaje = 'Evento a borrar no existe'
                        Snips.log(None, '', '', 'Error', mensaje)

            elif (frecuencia == 'desayuno'):  #HORA-1
                mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' en el desayuno'
                e = Evento(med, fechaObjeto, Snips.usuario, True, 'desayuno')
                if (Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    job = 'Repeticion Desayuno' + ',' + med + ',' + Snips.usuario + ',' + str(
                        fechaObjeto)
                    Snips.borrarEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                    if (existe_Trabajo(job)):
                        Snips.planificador.remove_job(job)

                    job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                    if (existe_Trabajo1(job)):
                        Snips.planificador1.remove_job(job)
                else:
                    mensaje = 'Evento a borrar no existe'
                    Snips.log(None, '', '', 'Error', mensaje)

            elif (frecuencia == 'comida'):  #HORA-1
                mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' en la comida'
                e = Evento(med, fechaObjeto, Snips.usuario, True, 'comida')
                if (Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    job = 'Repeticion Comida' + ',' + med + ',' + Snips.usuario + ',' + str(
                        fechaObjeto)
                    Snips.borrarEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                    if (existe_Trabajo(job)):
                        Snips.planificador.remove_job(job)

                    job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                    if (existe_Trabajo1(job)):
                        Snips.planificador1.remove_job(job)
                else:
                    mensaje = 'Evento a borrar no existe'
                    Snips.log(None, '', '', 'Error', mensaje)

            elif (frecuencia == 'cena'):  #HORA-1
                mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' en la cena'
                e = Evento(med, fechaObjeto, Snips.usuario, True, 'cena')
                if (Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    job = 'Repeticion Cena' + ',' + med + ',' + Snips.usuario + ',' + str(
                        fechaObjeto)
                    Snips.borrarEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                    if (existe_Trabajo(job)):
                        Snips.planificador.remove_job(job)

                    job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                    if (existe_Trabajo1(job)):
                        Snips.planificador1.remove_job(job)
                else:
                    mensaje = 'Evento a borrar no existe'
                    Snips.log(None, '', '', 'Error', mensaje)
            else:
                mensaje = Snips.usuario + " está borrando un recordatorio para tomar " + med + ' cada ' + str(
                    veces) + ' ' + frecuencia + ' empezando ' + str(fecha)
                e = Evento(med, fechaObjeto, Snips.usuario, True,
                           str(veces) + ' ' + frecuencia)
                if (Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    job = 'Repeticion semanal cada ' + frecuencia + ',' + med + ',' + Snips.usuario + ',' + str(
                        fechaObjeto)
                    Snips.borrarEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Borrar_Evento', '')
                    if (existe_Trabajo(job)):
                        Snips.planificador.remove_job(job)

                    job = 'Evento repetitivo: recordando tomar ' + e.med + ' a ' + e.usuario + ' cada ' + e.cuando
                    if (existe_Trabajo1(job)):
                        Snips.planificador1.remove_job(job)
                else:
                    mensaje = 'Evento a borrar no existe'
                    Snips.log(None, '', '', 'Error', mensaje)

        hermes.publish_end_session(MensajeIntent.session_id, mensaje)
Ejemplo n.º 2
0
def controlador_accion_Anadir_Evento(hermes, MensajeIntent, conf):
    global Snips
    #print(str(MensajeIntent.slots.Repeticion))
    if (not MensajeIntent.slots.Repeticion):
        session = MensajeIntent.session_id
        if (MensajeIntent.slots.Fecha):
            fecha = MensajeIntent.slots.Fecha.first().value
            fecha = fecha[:fecha.index('+') - 1]
            FechaObjeto = datetime.strptime(fecha, "%Y-%m-%d %H:%M:%S")
            if (datetime.now() < FechaObjeto):
                med = MensajeIntent.slots.Medicamento.first().value
                mensaje = Snips.usuario + " está añadiendo un recordatorio para el día  " + str(
                    FechaObjeto.day) + " de " + str(
                        FechaObjeto.month) + " del " + str(
                            FechaObjeto.year) + " a las " + str(
                                FechaObjeto.hour) + minutos(
                                    FechaObjeto.minute) + " tomar " + med
                e = Evento(med, FechaObjeto, Snips.usuario, False, '')
                if (not Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    Snips.anadirEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                    Snips.planificador.add_job(
                        recordatorio,
                        'date',
                        run_date=FechaObjeto,
                        id=str(e.fecha) + ',' + e.med + ',' + e.usuario,
                        args=['default', e, False, Snips])
                else:
                    mensaje = 'Evento a crear ya existe'
                    Snips.log(None, '', '', 'Error', mensaje)
            else:
                mensaje = 'La fecha introducida ya ha pasado. Vuelve a introducir el comando'
        else:
            mensaje = 'Fecha errónea. Vuelve a introducir el comando'
    else:
        session = MensajeIntent.session_id
        if (MensajeIntent.slots.Fecha):
            fecha = MensajeIntent.slots.Fecha.first().value
            fecha = fecha[:fecha.index('+') - 1]
            FechaObjeto = datetime.strptime(fecha, "%Y-%m-%d %H:%M:%S")
        else:
            fecha = datetime.today().replace(
                second=0, microsecond=0).strftime("%Y-%m-%d %H:%M")
            FechaObjeto = datetime.strptime(fecha, "%Y-%m-%d %H:%M")

        med = MensajeIntent.slots.Medicamento.first().value
        if (not MensajeIntent.slots.cantidad):
            veces = 1
        else:
            veces = int(MensajeIntent.slots.cantidad.first().value)
        days = calendar.monthrange(datetime.now().year,
                                   datetime.now().month)[1]
        if (veces == 0):
            mensaje = 'No se puede crear un evento repetitivo con cantidad  igual a 0.'
        else:
            frecuencia = MensajeIntent.slots.Repeticion.first().value
            if (frecuencia == 'diariamente'):
                mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' todos los dias empezando ' + str(
                    fecha)
                e = Evento(med, FechaObjeto, Snips.usuario, True, '1 dia')
                if (not Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    if (e.fecha < datetime.now()):
                        FechaObjecto = datetime.now() + timedelta(days=1)

                    Snips.planificador.add_job(
                        recordatorio,
                        'cron',
                        id='Repeticion diaria,' + med + ',' + Snips.usuario +
                        ',' + str(FechaObjeto),
                        year=FechaObjeto.year,
                        month=FechaObjeto.month,
                        day=str(FechaObjeto.day) + '/1',
                        hour=FechaObjeto.hour,
                        minute=FechaObjeto.minute,
                        replace_existing=True,
                        args=['default', e, True, Snips])
                    Snips.anadirEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                else:
                    mensaje = 'Evento a crear ya existe'
                    Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'dia'):
                if (veces > 30):
                    mensaje = "No se puede crear un evento repetitivo con cant mayor a 30 días."
                else:
                    mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' dias empezando ' + str(fecha)
                    e = Evento(med, FechaObjeto, Snips.usuario, True,
                               str(veces) + ' dia')
                    if (not Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        if (e.fecha < datetime.now()):
                            aux = veces
                            FechaObjecto = datetime.now() + timedelta(days=aux)

                        Snips.planificador.add_job(
                            recordatorio,
                            'cron',
                            id='Repeticion cada ' + str(veces) + ' dias,' +
                            med + ',' + Snips.usuario + ',' + str(FechaObjeto),
                            year=FechaObjeto.year,
                            month=FechaObjeto.month,
                            day=str(FechaObjeto.day) + '/' + str(veces),
                            hour=FechaObjeto.hour,
                            minute=FechaObjeto.minute,
                            replace_existing=True,
                            args=['default', e, True, Snips])
                        Snips.anadirEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                    else:
                        mensaje = 'Evento a crear ya existe'
                        Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'mes'):
                if (veces > 11):
                    mensaje = "No se puede crear un evento repetitivo con cant igual o mayor que 11 meses"
                else:
                    mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' meses empezando ' + str(fecha)
                    e = Evento(med, FechaObjeto, Snips.usuario, True,
                               str(veces) + ' mes')
                    if (not Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        if (e.fecha < datetime.now()):
                            aux = veces * days
                            FechaObjecto = datetime.now() + timedelta(days=aux)
                        Snips.planificador.add_job(
                            recordatorio,
                            'cron',
                            id='Repeticion ' + str(veces) + ' meses ,' + med +
                            ',' + Snips.usuario + ',' + str(FechaObjeto),
                            year=FechaObjeto.year,
                            month=str(FechaObjeto.month) + '/' + str(veces),
                            day=FechaObjeto.day,
                            hour=FechaObjeto.hour,
                            minute=FechaObjeto.minute,
                            replace_existing=True,
                            args=['default', e, True, Snips])
                        Snips.anadirEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                    else:
                        mensaje = 'Evento a crear ya existe'
                        Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'semana'):
                if (veces > 30):
                    mensaje = "No se puede crear un evento repetitivo con cant mayor a 30 semanas."
                else:
                    mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' semanas empezando ' + str(fecha)
                    e = Evento(med, FechaObjeto, Snips.usuario, True,
                               str(veces) + ' semana')
                    if (not Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        if (e.fecha < datetime.now()):
                            aux = 7 * veces
                            FechaObjecto = datetime.now() + timedelta(days=aux)
                        Snips.planificador.add_job(
                            recordatorio,
                            'cron',
                            id='Repeticion ' + str(veces) + ' semanas,' + med +
                            ',' + Snips.usuario + ',' + str(FechaObjeto),
                            year=FechaObjeto.year,
                            month=FechaObjeto.month,
                            day=str(FechaObjeto.day) + '/' + str(7 * veces),
                            hour=FechaObjeto.hour,
                            minute=FechaObjeto.minute,
                            replace_existing=True,
                            args=['default', e, True, Snips])
                        Snips.anadirEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                    else:
                        mensaje = 'Evento a crear ya existe'
                        Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'hora'):
                if (veces > 23):
                    mensaje = "No se puede crear un evento repetitivo con cant sea 23 o más."
                else:
                    mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' cada ' + str(
                        veces) + ' horas empezando ' + str(fecha)
                    e = Evento(med, FechaObjeto, Snips.usuario, True,
                               str(veces) + ' hora')
                    if (not Snips.ExisteEvento(e)):
                        e.IncrementarVeces()
                        if (e.fecha < datetime.now()):
                            FechaObjecto = e.fecha
                            while ((FechaObjecto + timedelta(hours=veces)) <
                                   datetime.now()
                                   and (FechaObjecto.hour + veces) < 23):
                                print(str(FechaObjecto))
                                FechaObjecto += timedelta(hours=veces)
                            print(str(FechaObjecto))
                        horaSig = FechaObjecto.hour + veces
                        print(str(FechaObjecto))
                        if (horaSig > 23):
                            FechaObjecto += timedelta(hours=veces)
                            print(str(FechaObjecto))
                        print(str(FechaObjecto))
                        Snips.planificador.add_job(
                            recordatorio,
                            'cron',
                            id='Repeticion ' + str(veces) + ' horas,' + med +
                            ',' + Snips.usuario + ',' + str(FechaObjeto),
                            year=FechaObjeto.year,
                            month=FechaObjeto.month,
                            day=FechaObjeto.day,
                            hour=str(FechaObjeto.hour) + '/' + str(veces),
                            minute=FechaObjeto.minute,
                            replace_existing=True,
                            args=['default', e, True, Snips])
                        Snips.anadirEvento(e)
                        Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                    else:
                        mensaje = 'Evento a crear ya existe'
                        Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'desayuno'):  #HORA-1
                mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' en el desayuno'
                e = Evento(med, FechaObjeto, Snips.usuario, True, 'desayuno')
                if (not Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    if (e.fecha < datetime.now()):
                        FechaObjecto = datetime.now() + timedelta(days=1)
                    Snips.planificador.add_job(
                        recordatorio,
                        'cron',
                        id='Repeticion Desayuno' + ',' + med + ',' +
                        Snips.usuario + ',' + str(FechaObjeto),
                        year=FechaObjeto.year,
                        month=FechaObjeto.month,
                        day=FechaObjeto.day,
                        hour='8/1',
                        minute=0,
                        replace_existing=True,
                        args=['default', e, True, Snips])
                    Snips.anadirEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                else:
                    mensaje = 'Evento a crear ya existe'
                    Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'comida'):  #HORA-1
                mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' en la comida'
                e = Evento(med, FechaObjeto, Snips.usuario, True, 'comida')
                if (not Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    if (e.fecha < datetime.now()):
                        FechaObjecto = datetime.now() + timedelta(days=1)
                    Snips.planificador.add_job(
                        recordatorio,
                        'cron',
                        id='Repeticion Comida' + ',' + med + ',' +
                        Snips.usuario + ',' + str(FechaObjeto),
                        year=FechaObjeto.year,
                        month=FechaObjeto.month,
                        day=FechaObjeto.day,
                        hour='13/1',
                        minute=0,
                        replace_existing=True,
                        args=['default', e, True, Snips])
                    Snips.anadirEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                else:
                    mensaje = 'Evento a crear ya existe'
                    Snips.log(None, '', '', 'Error', mensaje)
            elif (frecuencia == 'cena'):  #HORA-1
                mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' en la cena'
                e = Evento(med, FechaObjeto, Snips.usuario, True, 'cena')
                if (not Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    if (e.fecha < datetime.now()):
                        FechaObjecto = datetime.now() + timedelta(days=1)
                    Snips.planificador.add_job(
                        recordatorio,
                        'cron',
                        id='Repeticion Cena' + ',' + med + ',' +
                        Snips.usuario + ',' + str(FechaObjeto),
                        year=FechaObjeto.year,
                        month=FechaObjeto.month,
                        day=FechaObjeto.day,
                        hour='21/1',
                        minute=0,
                        replace_existing=True,
                        args=['default', e, True, Snips])
                    Snips.anadirEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                else:
                    mensaje = 'Evento a crear ya existe'
                    Snips.log(None, '', '', 'Error', mensaje)
            else:
                mensaje = Snips.usuario + " está añadiendo un recordatorio para tomar " + med + ' cada ' + str(
                    veces) + ' ' + frecuencia + ' empezando ' + str(fecha)
                e = Evento(med, FechaObjeto, Snips.usuario, True,
                           str(veces) + ' ' + frecuencia)
                if (not Snips.ExisteEvento(e)):
                    e.IncrementarVeces()
                    if (e.fecha < datetime.now()):
                        FechaObjecto = datetime.now() + timedelta(days=7 *
                                                                  veces)
                    Snips.planificador.add_job(
                        recordatorio,
                        'cron',
                        id='Repeticion semanal cada ' + frecuencia + ',' +
                        med + ',' + Snips.usuario + ',' + str(FechaObjeto),
                        day_of_week=Snips.dia_sem(frecuencia),
                        year=FechaObjeto.year,
                        month=FechaObjeto.month,
                        day=FechaObjeto.day,
                        hour=FechaObjeto.hour,
                        minute=FechaObjeto.minute,
                        replace_existing=True,
                        args=['default', e, True, Snips])
                    Snips.anadirEvento(e)
                    Snips.log(e, Snips.usuario, '', 'Añadir_Evento', '')
                else:
                    mensaje = 'Evento a crear ya existe'
                    Snips.log(None, '', '', 'Error', mensaje)
    print('planificador')
    Snips.planificador.print_jobs()
    print('planificador1')
    Snips.planificador1.print_jobs()
    hermes.publish_end_session(MensajeIntent.session_id, mensaje)