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.