def main(): # if not len(sys.argv) == 1: # print ('usage: pce_grabar_detalles.py ') # sys.exit(1) # Inicia contador de tiempo inicio = time.time() regUpdated = 0 regRead = 0 log2file("Inicio grabar detalles.") # Escribe el número de registros leidos nunContSinDet = ( PceExpediente.select(PceExpediente.id_licitacion, PceExpediente.num_expediente, PceOrgano.descripcion) .where(PceExpediente.id_estado >> None) .count() ) log2file("Hay " + str(nunContSinDet) + " contratos sin detalles.") # Lee de la BD contratos sin detalles contSinDet = ( PceExpediente.select(PceExpediente.id_licitacion, PceExpediente.num_expediente, PceOrgano.descripcion) .where(PceExpediente.id_estado >> None) .join(PceOrgano) .naive() ) # Para cada uno de ellos se leen los detalles y se graban en BD for contrato in contSinDet: try: detalles = detalleContrato( numExpediente=contrato.num_expediente, OrgContratacion=contrato.descripcion, driverType=2 ) regRead += 1 nreg = grabarDetalleBD(contrato, detalles) regUpdated += nreg log2file("Procesado expediente " + contrato.num_expediente + " id: " + str(contrato.id_licitacion)) except: log2file("Error en expediente " + contrato.num_expediente + " id: " + str(contrato.id_licitacion)) var = traceback.format_exc() log2file("Error inesperado" + var) # Escribe el número de registros leidos log2file("Se han leido " + str(regRead) + " registros de la BD.") print("Se han leido ", str(regRead), " registros de la BD.") # Escribe el número de registros actualizados log2file("Se han actualizado " + str(regUpdated) + " registros de la BD.") # Escribe el tiempo tardado fin = time.time() tiempo_total = fin - inicio log2file("El proceso tardó :" + str(tiempo_total) + " s")