Exemplo n.º 1
0
def main():
    log = inicializar_log()

    try:
        cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                 cfg.NOMBRE_BD)
        repo_eventos = RepoEventos(cfg, cliente_mongo)
        gestion = Gestion(cfg, log)
        ejecucion_ok = True

        log.escribir(
            u'-- GESTIÓN DE EVENTOS INICIADO (v{0}) --'.format(
                version.__version__), log.INFO)

        # Procesar posibles eventos activos
        log.escribir(u'Buscar eventos activos...', log.INFO)
        eventos_activos = repo_eventos.obtener_eventos_activos()

        if eventos_activos:
            gestion.actualizar_datos_eventos(eventos_activos)
        else:
            log.escribir(u'No hay eventos activos', log.INFO)

    except Exception as ex:
        ejecucion_ok = False
        log.escribir(u'Se ha producido un error, {0}'.format(ex), log.ERROR)
    finally:
        repo.insertar_ejecucion(cliente_mongo, ejecucion_ok, 'Gestion')
        log.escribir(u'-- FIN GESTIÓN DE EVENTOS --', log.INFO)
Exemplo n.º 2
0
    def test_autenticacion(self):
        bad_credentials = 'mongodb://*****:*****@localhost:27017/TestSodinDeteccionBD?authMechanism=SCRAM-SHA-1'
        cliente_fake = repo.inicializar_cliente(bad_credentials, cfg.NOMBRE_BD)
        cliente_bien = repo.inicializar_cliente(cfg.URI_MONGODB, cfg.NOMBRE_BD)

        with self.assertRaises(OperationFailure):
            repo_confederaciones = RepoConfederaciones(cfg, cliente_fake)
            confederacion = repo_confederaciones.obtener_confederacion(1)

        repo_confederaciones = RepoConfederaciones(cfg, cliente_bien)
        confederacion = repo_confederaciones.obtener_confederacion(1)
        self.assertIsNotNone(confederacion)
Exemplo n.º 3
0
def main():
    log = inicializar_log()

    try:
        cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                 cfg.NOMBRE_BD)
        repo_confederaciones = RepoConfederaciones(cfg, cliente_mongo)
        repo_tipos_evento = RepoTiposEvento(cfg, cliente_mongo)
        ejecucion_ok = True

        log.escribir(
            u'-- DETECCIÓN DE EVENTOS INICIADO (v{0}) --'.format(
                version.__version__), log.INFO)
        confederaciones = repo_confederaciones.obtener_confederaciones()

        for confederacion in confederaciones:
            log.escribir(
                u'---- {0} ---'.format(confederacion['nombre']).upper(),
                log.INFO)
            ## Detección alertas fluviales #
            proveedor_saih = repo_confederaciones.obtener_proveedor_saih(
                confederacion)
            tipo_fluvial = repo_tipos_evento.obtener_tipo_evento_fluvial()
            deteccion_fluvial = Deteccion(cfg, log, proveedor_saih)
            if not proveedor_saih:
                log.escribir(
                    u' No hay proveedor de datos fluviales para esta confederación',
                    log.WARNING)
            else:
                log.escribir(u'-- Alertas fluviales --', log.INFO)
                deteccion_fluvial.buscar_alertas(confederacion, tipo_fluvial)

            ## Detección alertas costeras #
            proveedor_boyas = repo_confederaciones.obtener_proveedor_boyas()
            tipo_costero = repo_tipos_evento.obtener_tipo_evento_costero()
            deteccion_costera = Deteccion(cfg, log, proveedor_boyas)

            log.escribir(u'-- Alertas costeras --', log.INFO)
            deteccion_costera.buscar_alertas(confederacion, tipo_costero)

            log.escribir('--------------------------------------------------',
                         log.INFO)

    except Exception as ex:
        ejecucion_ok = False
        log.escribir(u'Se ha producido un error, {0}'.format(ex), log.ERROR)
    finally:
        repo.insertar_ejecucion(cliente_mongo, ejecucion_ok, 'Deteccion')
        log.escribir(u'Datos de ejecucion del operacional guardados', log.INFO)
        log.escribir(u'-- FIN DETECCIÓN DE EVENTOS --', log.INFO)
Exemplo n.º 4
0
 def setUpClass(cls):
     cls.log = LogSodin(cfg, cfg.FICHERO_LOG_GESTOR, LogSodin.LOGGER_MONITOR)
     cls.log.configurar_log()
     cls.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB, cfg.NOMBRE_BD)
     cls.repo_eventos = RepoEventos(cfg, cls.cliente_mongo)
     cls.repo_tipos_evento = RepoTiposEvento(cfg, cls.cliente_mongo)
     cls.repo_estaciones = RepoEstaciones(cfg, cls.cliente_mongo)
     cls.analisis = Analisis(cfg, cls.log)
     cls.twitter = Twitter(cfg, cls.log)
 def __init__(self, cfg, log):
     self.cfg = cfg
     self.log = log
     self.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB, cfg.NOMBRE_BD)
     self.analisis = Analisis(self.cfg, self.log)
     self.gestion = Gestion(self.cfg, self.log)
     self.repo_eventos = RepoEventos(cfg, self.cliente_mongo)
     self.repo_nucleos = RepoNucleos(cfg, self.cliente_mongo)
     self.repo_tipos_evento = RepoTiposEvento(cfg, self.cliente_mongo)        
Exemplo n.º 6
0
 def __init__(self, cfg, log, proveedor_datos):
     self.cfg = cfg
     self.log = log
     self.proveedor_datos = proveedor_datos
     self.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                   cfg.NOMBRE_BD)
     self.coordinador = CoordinadorEvento(cfg, self.log)
     self.repo_variables = RepoVariables(self.cfg, self.cliente_mongo)
     self.repo_estaciones = RepoEstaciones(self.cfg, self.cliente_mongo)
Exemplo n.º 7
0
 def setUpClass(cls):
     cls.chc = CHCantabrico(cfg)
     cls.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB, cfg.NOMBRE_BD)
     cls.repo_confederaciones = RepoConfederaciones(cfg, cls.cliente_mongo)
     cls.repo_estaciones = RepoEstaciones(cfg, cls.cliente_mongo)
     cls.repo_variables = RepoVariables(cfg, cls.cliente_mongo)
     cls.repo_eventos = RepoEventos(cfg, cls.cliente_mongo)
     cls.nombre_tipo_fluvial = 'Fluvial'
     cls.cod_tipo_fluvial = 1
     cls.cod_chc = 1 #CHCantabrico
Exemplo n.º 8
0
 def __init__(self, cfg, log):
     self.cfg = cfg
     self.log = log
     self.twitter = Twitter(self.cfg, self.log)
     self.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                   cfg.NOMBRE_BD)
     self.repo_estaciones = RepoEstaciones(cfg, self.cliente_mongo)
     self.repo_eventos = RepoEventos(cfg, self.cliente_mongo)
     self.tipo_json = 'json'
     self.tipo_binario = 'octet-stream'
     self.campos_analisis_foto = 'Categories, Tags, Description, Faces, ImageType, Adult'
Exemplo n.º 9
0
 def setUpClass(cls):
     cls.log = LogSodin(cfg, cfg.FICHERO_LOG_MONITOR,
                        LogSodin.LOGGER_MONITOR)
     cls.log.configurar_log()
     cls.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                  cfg.NOMBRE_BD)
     cls.repo_confederaciones = RepoConfederaciones(cfg, cls.cliente_mongo)
     cls.repo_estaciones = RepoEstaciones(cfg, cls.cliente_mongo)
     cls.repo_variables = RepoVariables(cfg, cls.cliente_mongo)
     cls.repo_eventos = RepoEventos(cfg, cls.cliente_mongo)
     cls.repo_tipos_evento = RepoTiposEvento(cfg, cls.cliente_mongo)
Exemplo n.º 10
0
 def __init__(self, cfg, log):
     self.cfg = cfg
     self.log = log
     self.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                   cfg.NOMBRE_BD)
     self.repo_confederaciones = RepoConfederaciones(
         cfg, self.cliente_mongo)
     self.repo_estaciones = RepoEstaciones(cfg, self.cliente_mongo)
     self.repo_eventos = RepoEventos(cfg, self.cliente_mongo)
     self.repo_variables = RepoVariables(cfg, self.cliente_mongo)
     self.repo_tipo_evento = RepoTiposEvento(cfg, self.cliente_mongo)
     self.twitter = Twitter(self.cfg, self.log)
Exemplo n.º 11
0
 def setUpClass(cls):
     cls.Chc = CHCantabrico(cfg)
     cls.log = LogSodin(cfg, cfg.FICHERO_LOG_MONITOR,
                        LogSodin.LOGGER_MONITOR)
     cls.log.configurar_log()
     cls.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                  cfg.NOMBRE_BD)
     cls.repo_variables = RepoVariables(cfg, cls.cliente_mongo)
     cls.repo_eventos = RepoEventos(cfg, cls.cliente_mongo)
     cls.repo_estaciones = RepoEstaciones(cfg, cls.cliente_mongo)
     cls.repo_tipos_evento = RepoTiposEvento(cfg, cls.cliente_mongo)
     cls.CODIGO_CONFEDERACION_CHC = 1
Exemplo n.º 12
0
 def setUpClass(cls):
     cls.log = LogSodin(cfg, cfg.FICHERO_LOG_MONITOR,
                        LogSodin.LOGGER_MONITOR)
     cls.log.configurar_log()
     cls.twitter = Twitter(cfg, cls.log)
     cls.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                  cfg.NOMBRE_BD)
     cls.repo_eventos = RepoEventos(cfg, cls.cliente_mongo)
     cls.repo_estaciones = RepoEstaciones(cfg, cls.cliente_mongo)
     cls.repo_nucleos = RepoNucleos(cfg, cls.cliente_mongo)
     cls.repo_tipos_evento = RepoTiposEvento(cfg, cls.cliente_mongo)
     cls.repo_confederaciones = RepoConfederaciones(cfg, cls.cliente_mongo)
     cls.gestion = Gestion(cfg, cls.log)
     cls.coordinador_evento = CoordinadorEvento(cfg, cls.log)
Exemplo n.º 13
0
 def setUpClass(cls):
     cls.log = LogSodin(cfg, cfg.FICHERO_LOG_GESTOR,
                        LogSodin.LOGGER_MONITOR)
     cls.log.configurar_log()
     cls.gestion = Gestion(cfg, cls.log)
     cls.cliente_mongo = repo.inicializar_cliente(cfg.URI_MONGODB,
                                                  cfg.NOMBRE_BD)
     cls.repo_confederaciones = RepoConfederaciones(cfg, cls.cliente_mongo)
     cls.repo_variables = RepoVariables(cfg, cls.cliente_mongo)
     cls.repo_estaciones = RepoEstaciones(cfg, cls.cliente_mongo)
     cls.repo_eventos = RepoEventos(cfg, cls.cliente_mongo)
     cls.repo_tipos_evento = RepoTiposEvento(cfg, cls.cliente_mongo)
     cls.cod_tipo_evento_fluvial = 1
     cls.Coordinador = CoordinadorEvento(cfg, cls.log)
     cls.id_estacion = 'N020'  #Pontenova
     cls.cod_chc = 1
     cls.nivel_rio = 2.14
Exemplo n.º 14
0
    def test_inserta_datos_ejecucion(self):
        res = repo.insertar_ejecucion(self.cliente_mongo, True, 'Deteccion')

        self.assertTrue(res.acknowledged)
        self.assertIsInstance(res.inserted_id, ObjectId)