示例#1
0
 def test_when_adjudicacion_2_return_proveedores(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[2])
     proveedores = adjudicacion.get_proveedores()
     self.assertTrue("LEONARDO MAZZEO" in proveedores)
     self.assertTrue("DISTRIBUIDORA SYNERGIA S.R.L." in proveedores)
     self.assertTrue("SUALIER SA" in proveedores)
     self.assertTrue("VIMI S.A." in proveedores)
示例#2
0
    def test_when_adjudicacion_0_return_proveedor2(self):
        adjudicacion = Adjudicacion(fixtures.adjudicaciones[8])
        proveedores = adjudicacion.get_proveedores()
        precios = adjudicacion.get_precios()

        self.assertTrue("LA LEY S.A." in proveedores)
        self.assertEqual("LA LEY S.A.", proveedores[0])
        self.assertEqual(len(proveedores), len(precios))
示例#3
0
    def test_when_adjudicacion_0_return_proveedor2(self):
        adjudicacion = Adjudicacion(fixtures.adjudicaciones[8])
        proveedores = adjudicacion.get_proveedores()
        precios = adjudicacion.get_precios()

        self.assertTrue("LA LEY S.A." in proveedores)
        self.assertEqual("LA LEY S.A.", proveedores[0])
        self.assertEqual(len(proveedores), len(precios))
def parsea_boletin(boletin_str, cursor, filename = ""):
    boletin = Boletin(boletin_str)
    adjudicaciones_str = boletin.get_modulos_seccion("Adjudicaciones")
    totales = { "adjudicaciones" : 0, 
                "sociedades" : 0, 
                "oferentes" : 0,
                "reparticiones" : 0}

    boletin_regex = re.compile("-",re.IGNORECASE | re.MULTILINE)
    matchs = boletin_regex.split(filename)

    cursor.execute(db_inserts['boletin'], (matchs[0], matchs[1].replace('.txt', '')))
    boletin_id = cursor.lastrowid   

    for adjudicacion_str in adjudicaciones_str:
        adjudicacion = Adjudicacion(adjudicacion_str)
        
        reparticion = adjudicacion.get_entidad_publica()
        cursor.execute(db_queries['reparticion'], '%'+string.capwords(reparticion)+'%')
        reparticion_id = cursor.fetchone()

        if not reparticion_id:
            cursor.execute(db_inserts['reparticion'], reparticion)               
            totales['reparticiones'] += 1
            reparticion_id = cursor.lastrowid
        else:
            reparticion_id = reparticion_id[0]

        try:
            adjudicacion_objeto = adjudicacion.get_objeto()
            cursor.execute(db_inserts['adjudicacion'], 
                        (adjudicacion_objeto, 
                        adjudicacion.get_texto(),
                        reparticion_id,
                        boletin_id))
        except Exception, e:                
            logging.error(logging_msg, filename, adjudicacion.get_texto())

        adjudicacion_id = cursor.lastrowid         

        precios = adjudicacion.get_precios()
        proveedores = adjudicacion.get_proveedores()

        for proveedor, precio in zip(proveedores, precios):
            proveedor_title = string.capwords(proveedor)                
            cursor.execute(db_queries['sociedad'], proveedor_title)

            sociedad = cursor.fetchone()

            if not sociedad:
                cursor.execute(db_inserts['sociedad'], proveedor_title)                        
                totales['sociedades'] += 1
                proveedor_id = cursor.lastrowid
            else:
                proveedor_id = sociedad[0]

            #cursor.execute(db_inserts['sociedad2'], proveedor_title)                        
            
            precio_str = "{0} {1}".format(precio['moneda'], precio['valor'])
            cursor.execute(db_inserts['oferente'], 
                            (proveedor_id, adjudicacion_id, precio_str))

            totales['oferentes'] += 1

        totales['adjudicaciones'] += 1
示例#5
0
 def test_when_adjudicacion_1_return_proveedor(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[1])
     self.assertTrue("CAE USA INC." in adjudicacion.get_proveedores())
示例#6
0
 def test_when_adjudicacion_0_return_proveedor3(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[9])
     proveedores = adjudicacion.get_proveedores()
     precios = adjudicacion.get_precios()
     self.assertEqual(len(proveedores), len(precios))
示例#7
0
 def test_when_adjudicacion_0_return_proveedor(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[0])
     proveedores = adjudicacion.get_proveedores()
     self.assertTrue("METEO S.A. " in proveedores)
示例#8
0
 def test_when_adjudicacion_4_return_proveedores(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[4])
     proveedores = adjudicacion.get_proveedores()
     self.assertTrue("FEDERICO LOPEZ." in proveedores)
示例#9
0
 def test_when_adjudicacion_3_return_proveedores(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[3])
     proveedores = adjudicacion.get_proveedores()
     self.assertTrue("PROMETIN S.A." in proveedores)
     self.assertTrue("TECNOELECTRIC S.R.L." in proveedores)
示例#10
0
def parsea_boletin(boletin_str, cursor, filename=""):
    boletin = Boletin(boletin_str)
    adjudicaciones_str = boletin.get_modulos_seccion("Adjudicaciones")
    totales = {
        "adjudicaciones": 0,
        "sociedades": 0,
        "oferentes": 0,
        "reparticiones": 0
    }

    boletin_regex = re.compile("-", re.IGNORECASE | re.MULTILINE)
    matchs = boletin_regex.split(filename)

    cursor.execute(db_inserts['boletin'],
                   (matchs[0], matchs[1].replace('.txt', '')))
    boletin_id = cursor.lastrowid

    for adjudicacion_str in adjudicaciones_str:
        adjudicacion = Adjudicacion(adjudicacion_str)

        reparticion = adjudicacion.get_entidad_publica()
        cursor.execute(db_queries['reparticion'],
                       '%' + string.capwords(reparticion) + '%')
        reparticion_id = cursor.fetchone()

        if not reparticion_id:
            cursor.execute(db_inserts['reparticion'], reparticion)
            totales['reparticiones'] += 1
            reparticion_id = cursor.lastrowid
        else:
            reparticion_id = reparticion_id[0]

        try:
            adjudicacion_objeto = adjudicacion.get_objeto()
            cursor.execute(db_inserts['adjudicacion'],
                           (adjudicacion_objeto, adjudicacion.get_texto(),
                            reparticion_id, boletin_id))
        except Exception, e:
            logging.error(logging_msg, filename, adjudicacion.get_texto())

        adjudicacion_id = cursor.lastrowid

        precios = adjudicacion.get_precios()
        proveedores = adjudicacion.get_proveedores()

        for proveedor, precio in zip(proveedores, precios):
            proveedor_title = string.capwords(proveedor)
            cursor.execute(db_queries['sociedad'], proveedor_title)

            sociedad = cursor.fetchone()

            if not sociedad:
                cursor.execute(db_inserts['sociedad'], proveedor_title)
                totales['sociedades'] += 1
                proveedor_id = cursor.lastrowid
            else:
                proveedor_id = sociedad[0]

            #cursor.execute(db_inserts['sociedad2'], proveedor_title)

            precio_str = "{0} {1}".format(precio['moneda'], precio['valor'])
            cursor.execute(db_inserts['oferente'],
                           (proveedor_id, adjudicacion_id, precio_str))

            totales['oferentes'] += 1

        totales['adjudicaciones'] += 1
示例#11
0
 def test_when_adjudicacion_3_return_proveedores(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[3])
     proveedores = adjudicacion.get_proveedores()
     self.assertTrue("PROMETIN S.A." in proveedores)
     self.assertTrue("TECNOELECTRIC S.R.L." in proveedores)
示例#12
0
 def test_when_adjudicacion_1_return_proveedor(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[1])
     self.assertTrue("CAE USA INC." in adjudicacion.get_proveedores());
示例#13
0
 def test_when_adjudicacion_0_return_proveedor3(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[9])
     proveedores = adjudicacion.get_proveedores()
     precios = adjudicacion.get_precios()
     self.assertEqual(len(proveedores), len(precios))
示例#14
0
 def test_when_adjudicacion_0_return_proveedor(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[0])
     proveedores = adjudicacion.get_proveedores()
     self.assertTrue("METEO S.A. " in proveedores)
示例#15
0
 def test_when_adjudicacion_4_return_proveedores(self):
     adjudicacion = Adjudicacion(fixtures.adjudicaciones[4])
     proveedores = adjudicacion.get_proveedores()    
     self.assertTrue("FEDERICO LOPEZ." in proveedores)