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
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()))