Example #1
0
def main():
    """
    Busca y recorre las obras huérfanas y las corrige.
    """
    obras = load_obras()
    total_obras = len(obras)
    barra = IncrementalBar("Obras huérfanas", max=total_obras)
    res = {"eliminadas": [], "corregidas": []}
    for obra in obras:
        nombre_obra = obra.nombre
        puid_obra = obra.puid
        if corregir_obra(obra):
            clave = "eliminadas"
        else:
            clave = "corregidas"
        res[clave].append((puid_obra, nombre_obra))
        barra.next()
    barra.finish()
    print "%d obras eliminadas. %d corregidas." % (len(res["eliminadas"]), len(res["corregidas"]))
    print "************** OBRAS ELIMINADAS ***************"
    for puid, nombre in res["eliminadas"]:
        print puid, nombre
    print "************** OBRAS CORREGIDAS ***************"
    for puid, nombre in res["corregidas"]:
        print puid, nombre
Example #2
0
def main():
    """
    Carga la lista de rollos y cambia el producto de venta de cada uno de ellos
    """
    rollos = load_rollos()
    total_rollos = sum([len(rollos[p]) for p in rollos])
    barra = IncrementalBar('Reasignando rollos', max=total_rollos)
    for producto in rollos:
        for rollo in rollos[producto]:
            cambiar_producto(rollo, producto)
            barra.next()
    barra.finish()
def main():
    """
    Busca conjuntos de obras duplicadas y las unifica según su nombre.
    Aprovecho para corregir también nombres con retornos de carro, etc.
    """
    cambiadas = corregir_nombres_obra()
    unificadas = defaultdict(lambda: [])
    obras = load_obras_duplicadas()
    total = sum([len(obras[nombre]) for nombre in obras])
    suffix = '%(index)d/%(max)d [%(elapsed_td)s/%(eta_td)s]'
    barra = IncrementalBar('Unificando obras...', max=total, suffix=suffix)
    for nombreobra in obras:
        try:
            # Si hay alguna genérica, la tomo como destino.
            obradest = [obra for obra in obras[nombreobra] if obra.generica][0]
        except IndexError:
            # Elijo la primera arbitrariamente como destino.
            obradest = obras[nombreobra][0]
        barra.next()
        for obra in obras[nombreobra]:
            if obra != obradest:
                dest, puid_deleted = unificar_obras(obradest, obra)
                unificadas[dest].append(puid_deleted)
                barra.next()
    barra.finish()
    report(cambiadas, unificadas)
def main():
    """
    Carga la lista de rollos y cambia el producto de venta de cada uno de ellos
    """
    productividades = {}
    rollos = load_rollos(productividades)
    total_rollos = sum([len(rollos[p]) for p in rollos])
    barra = IncrementalBar('Creando partes...', max=total_rollos)
    for producto in rollos:
        partida = crear_partida()
        for rollo in rollos[producto]:
            parte = determinar_pdp(rollo)
            asignar(rollo, parte, partida, productividades)
            barra.next()
    barra.finish()
    # Resumen de productividades:
    partes = productividades.keys()
    partes.sort(key=lambda p: p.productoVenta.descripcion)
    for pdp in partes:
        print pdp.get_info()
        print "\tAntes: %.2f\tDespués: %.2f\tDuración:%s" % (
            productividades[pdp], pdp.calcular_rendimiento(),
            utils.str_hora_corta(pdp.get_duracion()))