Exemple #1
0
import os
import sys
import wave
from socket import gethostname
from subprocess import Popen, PIPE
import numpy as np
from MySQLdb.cursors import DictCursor
from dejavuCAPTOR.recognize import AudioRecognizer
from pocketsphinx import Decoder
from Parametrizador import extractor_audio
from utilidades import to_unicode
from varsUtilsCaptorRadioV2 import NUM_PARAMETROS, cargar_conexion_sql_local, cargar_conexion_mysql_local, \
    cargar_djv_local, cargar_programa_anuncio, extraer_datos_emisora

cnx_as400 = cargar_conexion_sql_local()
cnx_mysql = cargar_conexion_mysql_local()

cursor_as400 = cnx_as400.cursor()
cursor_mysql = cnx_mysql.cursor(DictCursor)

djv = cargar_djv_local()

CODIGO_MEDIO = 'RD'
UMBRAL = 1e-75
vector = np.zeros(NUM_PARAMETROS)
UMBRAL_FINGERPRINT = 150
INTERVALO = 600
VENTANA = 3
LONG_HUELLA = 10
NOMBRE_PC_RED = gethostname()
RUTA_ARCHIVOS = "C:/CaptoRadio/archivos"
def carga_emisoras_as400_mysql():
    """
    Carga la tabla de emisoras INFOCDM.INFOSOPORT del AS400 a la tabla `captor`.`emisoras` de MySql
    """
    from MySQLdb.cursors import DictCursor
    from varsUtilsCaptorRadioV2 import cargar_conexion_sql_local, cargar_conexion_mysql_local

    cnx_as400 = cargar_conexion_sql_local()
    cnx_mysql = cargar_conexion_mysql_local()

    cursor_as400 = cnx_as400.cursor()
    cursor_mysql = cnx_mysql.cursor(DictCursor)

    cont = 0

    # Leemos la tabla de emisoras del AS400
    lista = []
    try:
        queryAS400 = u"SELECT * FROM INFOXXI.INFSOPORT WHERE IDMEDIOS = 'RD'"
        cursor_as400.execute(queryAS400)
    except:
        queryAS400 = u"SELECT * FROM INFSOPORT WHERE IDMEDIOS = 'RD'"
        cursor_as400.execute(queryAS400)

    columnas = [columna[0] for columna in cursor_as400.description]
    for resultado in cursor_as400.fetchall():
        lista.append(dict(zip(columnas, resultado)))

    # Borramos la tabla de emisoras de MySql
    try:
        queryMySql = u"DROP TABLE `captor`.`emisoras`"
        cursor_mysql.execute(queryMySql)
        cnx_mysql.commit()
    except:
        print u"No se ha podido borrar la tabla captor.emisoras"

    # Creamos la tabla de programas nueva en MySql
    queryMySql = (u"CREATE TABLE `captor`.`emisoras` ("
                  u"`onda` VARCHAR(10), "
                  u"`cadena` VARCHAR(10), "
                  u"`emisora` VARCHAR(10), "
                  u"`id_provincia` INT, "
                  u"`id_comunidad` INT, "
                  u"`clase_soporte` VARCHAR(10), "
                  u"`id_medios` VARCHAR(10), "
                  u"`id_grupo_comunicacion` INT, "
                  u"`id_exclusivo` INT, "
                  u"`descripcion` VARCHAR(250), "
                  u"KEY (`id_exclusivo`) "
                  u") ENGINE = InnoDB DEFAULT CHARSET=utf8;")

    cursor_mysql.execute(queryMySql)
    cnx_mysql.commit()

    # Leemos los datos cargados del AS400 y los insertamos en MySql
    for i in lista:
        try:
            onda = i["IDSOPOR1"].rstrip().decode("latin-1")
            cadena = i["IDSOPOR2"].rstrip().decode("latin-1")
            emisora = i["IDSOPOR3"].rstrip().decode("latin-1")
            id_provincia = int(i["IDPROVIN"])
            id_comunidad = int(i["IDCOMUNI"])
            clase_soporte = i["IDCLSOPO"].rstrip().decode("latin-1")
            id_medios = i["IDMEDIOS"].rstrip().decode("latin-1")
            id_grupo_comunicacion = int(i["IDGRCOMU"])
            id_exclusivo = int(i["IDEXCLUS"])
            descripcion = i["CDESCRIPCI"].rstrip().decode("latin-1")

            insertVariables = u"'{}','{}','{}','{}','{}','{}','{}','{}','{}','{}'".format(onda, cadena,
                                                                                          emisora, id_provincia,
                                                                                          id_comunidad,
                                                                                          clase_soporte, id_medios,
                                                                                          id_grupo_comunicacion,
                                                                                          id_exclusivo, descripcion)
            queryMySql = (u"INSERT INTO `captor`.`emisoras` ("
                          u"`onda`,"
                          u"`cadena`,"
                          u"`emisora`,"
                          u"`id_provincia`,"
                          u"`id_comunidad`,"
                          u"`clase_soporte`,"
                          u"`id_medios`,"
                          u"`id_grupo_comunicacion`,"
                          u"`id_exclusivo`,"
                          u"`descripcion`) "
                          u"VALUES ({})").format(
                insertVariables)
            cursor_mysql.execute(queryMySql)
            cnx_mysql.commit()
            cont += 1

        except Exception, e:
            print u"No se ha podido añadir la linea {}".format(i)
            print Exception
            print e
            pass
def carga_programas_as400_mysql():
    """
    Carga la tabla de programas INFOCDM.cdmppo00n del AS400 a la tabla `captor`.`programas` de MySql
    """
    from datetime import date, time
    from MySQLdb.cursors import DictCursor
    from varsUtilsCaptorRadioV2 import cargar_conexion_sql_local, cargar_conexion_mysql_local

    cnx_as400 = cargar_conexion_sql_local()
    cnx_mysql = cargar_conexion_mysql_local()

    cursor_as400 = cnx_as400.cursor()
    cursor_mysql = cnx_mysql.cursor(DictCursor)

    cont = 0

    # Leemos la tabla de programas del AS400
    lista = []
    try:
        queryAS400 = u"SELECT * FROM INFOCDM.cdmppo00n"
        cursor_as400.execute(queryAS400)
    except:
        queryAS400 = u"SELECT * FROM cdmppo00n"
        cursor_as400.execute(queryAS400)

    columnas = [columna[0] for columna in cursor_as400.description]
    for resultado in cursor_as400.fetchall():
        lista.append(dict(zip(columnas, resultado)))

    # Borramos la tabla de programas de MySql
    try:
        queryMySql = u"DROP TABLE `captor`.`programas`"
        cursor_mysql.execute(queryMySql)
        cnx_mysql.commit()
    except:
        print u"No se ha podido borrar la tabla captor.programas"

    # Creamos la tabla de programas nueva en MySql
    queryMySql = (u"CREATE TABLE `captor`.`programas` ("
                  u"`hora_emision` TIME, "
                  u"`dia_semana` CHAR, "
                  u"`fecha_inserccion` DATE, "
                  u"`fecha_alta` DATE, "
                  u"`onda` VARCHAR(10), "
                  u"`cadena` VARCHAR(10), "
                  u"`emisora` VARCHAR(10), "
                  u"`nombre` VARCHAR(250), "
                  u"`codigo` VARCHAR(10), "
                  u"KEY (`hora_emision`) "
                  u") ENGINE = InnoDB DEFAULT CHARSET=utf8;")

    cursor_mysql.execute(queryMySql)
    cnx_mysql.commit()

    # Leemos los datos cargados del AS400 y los insertamos en MySql
    for i in lista:
        try:
            hora_emision = time(hour=int(i["PGHORA"]), minute=int(i["PGMINT"]))
            dia_semana = i["DIASEM"].rstrip().decode("latin-1")
            aIn, mIn, dIn = int(i["PGAAIN"]), int(i["PGMMIN"]), int(i["PGDDIN"])
            if aIn == 0:
                aIn = 1
            if mIn == 0:
                mIn = 1
            if dIn == 0:
                dIn = 1
            fecha_inserccion = date(year=aIn, month=mIn, day=dIn)
            aAl, mAl, dAl = int(i["PGAAAL"]), int(i["PGMMAL"]), int(i["PGDDAL"])
            if aAl == 0:
                aAl = 1
            if mAl == 0:
                mAl = 1
            if dAl == 0:
                dAl = 1
            fecha_alta = date(year=aAl, month=mAl, day=dAl)
            onda = i["RAONDA"].rstrip().decode("latin-1")
            cadena = i["RACADN"].rstrip().decode("latin-1")
            emisora = i["RAEMIS"].rstrip().decode("latin-1")
            nombre = i["PGNOMB"].rstrip().decode("latin-1")
            codigo = i["PGCODI"].rstrip().decode("latin-1")
            insertVariables = u"'{}','{}','{}','{}','{}','{}','{}','{}','{}'".format(hora_emision, dia_semana,
                                                                                     fecha_inserccion, fecha_alta, onda,
                                                                                     cadena, emisora, nombre, codigo)
            queryMySql = (u"INSERT INTO `captor`.`programas` ("
                          u"`hora_emision`,"
                          u"`dia_semana`,"
                          u"`fecha_inserccion`,"
                          u"`fecha_alta`,"
                          u"`onda`,"
                          u"`cadena`,"
                          u"`emisora`,"
                          u"`nombre`,"
                          u"`codigo`) "
                          u"VALUES ({})").format(
                insertVariables)
            cursor_mysql.execute(queryMySql)
            cnx_mysql.commit()
            cont += 1

        except Exception, e:
            print u"No se ha podido añadir la linea {}".format(i)
            print Exception
            print e
            pass
import sys
import wave
from socket import gethostname
from subprocess import Popen, PIPE

import numpy as np
from MySQLdb.cursors import DictCursor
from dejavuCAPTOR.recognize import AudioRecognizer

from Parametrizador import extractor_audio
from utilidades import pf
from varsUtilsCaptorRadioV2 import NUM_PARAMETROS, cargar_conexion_sql_local, cargar_conexion_mysql_local, \
    cargar_djv_local, cargar_programa_anuncio

cnx_as400 = cargar_conexion_sql_local()
cnx_mysql = cargar_conexion_mysql_local()

cursor_as400 = cnx_as400.cursor()
cursor_mysql = cnx_mysql.cursor(DictCursor)

djv = cargar_djv_local()

CODIGO_MEDIO = 'RD'
UMBRAL = 1e-75
vector = np.zeros(NUM_PARAMETROS)
UMBRAL_FINGERPRINT = 150
INTERVALO = 3600
VENTANA = 3
LONG_HUELLA = 10
NOMBRE_PC_RED = gethostname()
RUTA_ARCHIVOS = "C:/CaptoRadio/archivos"