dirB package

Submodules

dirB.base module

class dirB.base.zsan_DirB

Clase para el tratamiento de ficheros DIR-B, implementados sobre HDF5. La estructura de estos ficheros es sencilla:

/CASO

JSON_IN

/SOLUCIONES
1

JSON_OUT_1

2

JSON_OUT_2

N

JSON_OUT_N

La ‘/’ representa la raíz del fichero. El campo CASO contiene un conjunto de metadatos y un fichero JSON con los parámetros generales que definin el caso.

Cada solución se guarda por defecto con un número, que, de la misma manera, contiene un conjunto de metadatos y un fichero JSON con los valores resultantes. Todos estos valores son no estructurados. En otras palabras, pueden tener un nombre y un tipo arbitrario, definidos por el usuario en función de sus propias necesidades. La cantidad de valores de salida también es arbitraria.

Métodos principales

creaNuevoCaso(diccionarioDeParamsInput: Dict, diccionarioDeMetadatos: Dict = None, directorio: str = '/home/docs/checkouts/readthedocs.org/user_builds/dirb/checkouts/stable/docs', nombreDeFichero: str = '2024-03-07T12.43.31_fb519256-5d51-470c-8049-c91706f6b0b7.hdf5')

Crea un nuevo caso teniendo en cuenta el dataset principal y los metadatos proporcionados.

Parameters:
  • diccionarioDeParamsInput (Dict) – dataset principal en formato JSON. Contiene los parámetros de entrada del caso.

  • diccionarioDeMetadatos (Dict) – diccionario con los metadatos del caso.

  • directorio (str) – directorio donde se creará el caso.

  • nombreDeFichero (str) – nombre del fichero HDF5 que se utilizará.

cargaCaso(nombreDeFichero: str, directorio: str = '/home/docs/checkouts/readthedocs.org/user_builds/dirb/checkouts/stable/docs')

Carga un caso identificado por su nombre de fichero.

Parameters:
  • nombreDeFichero (str) – nombre del fichero con el caso a cargar (identificador).

  • directorio (str) – directorio desde donde se cargará el caso.

guardaNuevaSolucion(diccionarioConEl_JSON_OUT: Dict, diccionarioAtributos: Dict = None)

Guarda una nueva solución en el dirB.

Parameters:
  • diccionarioConEl_JSON_OUT (Dict) – dataset principal en formato JSON. Contiene los parámetros de entrada del caso.

  • diccionarioAtributos (Dict) – diccionario con los metadatos del caso.

guardaNuevasSoluciones(listaDeSoluciones: List[Dict], listaDeAtributosDeSoluciones: List[Dict])

Guarda las nuevas soluciones pasadas por parámetro en el actual dirB.

Parameters:
  • listaDeSoluciones (List[Dict]) – lista con los diccionarios que representan las soluciones a guardar.

  • listaDeAtributosDeSoluciones (List[Dict]) – lista de los atributos de las soluciones a guardar.

Métodos adicionales

recuperaCasoComoDiccionario()

Recupera el caso como diccionario (built-in dictionary en Python).

recuperaSolucionComoDiccionario(numeroDeSolucion: int) Dict

Recupera un numero de solucion como diccionario Python (built-in Dict).

Parameters:

numeroDeSolucion (int) – identificador de la solución a recuperar.

Returns Dict:

representaAtributosDelCaso()

Muestra metadatos del caso.

representaAtributosDeTodasLasSoluciones()

Muestra los metadatos de todas las soluciones.

Métodos para el postprocesado

listaSolucionesQueTienenDeterminadoAtributo(campo: int | str) List

Devuelve todas las soluciones que tengan el campo proporcionado entre sus metadatos.

Parameters:

campo (int | str) – nombre del atributo del que se quieren conseguir los valores.

listaSolucionesQue_NO_TienenDeterminadoAtributo(campo: int | str) List

Devuelve todas las soluciones que NO tengan el campo proporcionado entre sus metadatos.

Parameters:

campo (int | str) – nombre del atributo del que NO se quieren conseguir los valores.

atributosDeUnaSolucion(unNumeroDeSolucion: int | str) Dict

Devuelve todos los metadatos para la solución indicada.

Parameters:

unNumeroDeSolucion (int | str) – identificador de la solución a considerar.

siUnaSolucionTieneUnAtributo(unNumeroDeSolucion: int | str, campo: int | str) bool

Devuelve si la solución indicada contiene el campo proporcionado entre sus metadatos.

Parameters:
  • unNumeroDeSolucion (int | str) – identificador de la solución a considerar.

  • campo (int | str) – nombre del atributo a considerar

solucionesQueTienenUnValorEntreSusAtributos(valor: int | str) List

De entre todas las soluciones, devuelve una lista de los campos que contienen el valor indicado.

Parameters:

valor (int | str) – valor a buscar entre los metadatos de todas sus soluciones.

solucionesQueTieneUnAtributoEnUnaListaPosiblesValores(campo: str | int, listaDeValores: List[str]) List

De entre todas las soluciones, devuelve las soluciones que contengan el campo especificado entre sus metadatos y cuyo valor esté entre la lista de valores.

Parameters:
  • campo (str | int) – nombre del campo a buscar en los metadatos de las soluciones.

  • List[str] – listaDeValores: lista de valores posibles que puede tener el campo.

dirB.merge module

dirB.merge.mergeDeDosDirB(nombreDeFichero1: str, nombreDeFichero2: str, nombreDeFichero_salida: str, directorio: str = '/home/docs/checkouts/readthedocs.org/user_builds/dirb/checkouts/stable/docs')

Fusiona las soluciones de dos dirB. Se asume que ambos tienen el mismo Caso. Los datos de los ficheros ‘nombreDeFichero1’ y ‘nombreDeFichero2’ se combinarán en un solo fichero de salida ‘nombreDeFichero_salida’.

Parameters:
  • nombreDeFichero1 (str) – nombre del fichero a combinar #1 (identificador del caso #1)

  • nombreDeFichero2 (str) – nombre del fichero a combinar #1 (identificador del caso #1)

  • nombreDeFichero_salida (str) – nombre del fichero de salida

  • directorio (str) – directorio donde se esperan encontrar los casos

dirB.merge.mergeListaDeSoluciones(nombreDelCasoBase: str, listaDeFicherosConSoluciones: List[str], nombreDeFichero_salida: str, directorio: str = '/home/docs/checkouts/readthedocs.org/user_builds/dirb/checkouts/stable/docs')

Añade la lista de soluciones al caso base proporcionado, dejando el fichero HDF5 resultante en el ‘nombreDeFichero_salida’.

Parameters:
  • nombreDelCasoBase (str) – nombre del caso base al que añadir la soluciones

  • listaDeFicherosConSoluciones (List[str]) – lista de nombres de ficheros que contienen las soluciones a ser añadidas la caso base

  • nombreDefichero_salida (str) – nombre del fichero resultante

  • directorio (str) – directorio donde se esperan encontrar los casos

dirB.utils module

dirB.utils.esperarDesbloqueoDeHDF5(pathDelFichero: str, numIntentosMaximo: int = 120, segundosDeSleep: int = 0.1)

Medida de sanidad en moficación de HDF5: Verificar que HDF5 está desbloqueado.

Parameters:
  • pathDelFichero (str) – path completo del fichero HDF5 a esperar

  • numIntentosMaximo (int) – número máximo de intentos a la hora de probar si el fichero sigue bloqueado

  • segundosDeSleep (int) – tiempo en segundos entre intentos.

Module contents