return 0
-class VerifNeutLib(VerifTypeTuple):
- """Validate the data comming from ``Model_data.b_neutro_compo.library_map``.
-
- Warnings
- --------
- This class respect the EFICAS conventions.
- """
- # pylint: disable=invalid-name
- # pylint: disable=no-self-use
- # pylint: disable=missing-function-docstring
-
- def __init__(self):
- super().__init__((_Assembly, "TXM"))
- self.cata_info = ""
-
- def info(self):
- return tr(": vérifie les \ntypes dans un tuple")
-
- def infoErreurListe(self):
- return tr("Les types entres ne sont pas permis")
-
- def default(self, valeur):
- return valeur
-
- def isList(self):
- return 1
-
- def convertItem(self, valeur):
- if len(valeur) != len(self.typeDesTuples):
- raise ValueError(
- tr("%s devrait être de type %s ") % (valeur, self.typeDesTuples))
- ok = self.verifType(valeur)
- if ok == 0:
- raise ValueError(
- tr("%s devrait être de type %s (%d)") % (valeur, self.typeDesTuples, ok))
- return valeur
-
- def verifItem(self, valeur):
- try:
- if len(valeur) != len(self.typeDesTuples):
- return 0
- ok = self.verifType(valeur)
- if ok != 1:
- return 0
- except: # pylint: disable=bare-except
- return 0
- return 1
-
- def verifType(self, valeur): # pylint: disable=arguments-differ
- ok = 0
- a, v = valeur
- if isinstance(a, _Assembly):
- ok += 1
- if isinstance(v, (bytes, str)):
- ok += 1
- if ok == len(self.typeDesTuples):
- return 1
- return 0
-
- def verif(self, valeur):
- if type(valeur) in (list, tuple):
- liste = list(valeur)
- for val in liste:
- if self.verifItem(val) != 1:
- return 0
- return 1
- return 0
-
-
class _Assembly(ASSD):
pass
condition="physics == 'Neutronics' and scale == 'component'",
fr="Description de la modélisation neutronique à l'échelle du composant",
ang="Neutronic modeling description at the component scale",
-
- # TODO: Split this in two: fuel assemblies libraries and reflector libraries)
- # TODO: Use a triplet (assembly, filename, pattern) instead of a doublet for the fuel assemblies libraries
- # TODO: Use a doublet (reflector, filename) for the reflector libraries
- library_map=SIMP(
- fr=("Association des éléments du cœur aux bibliothèques neutroniques "
- "sous la forme (assemblage combustible, nom du fichier@pattern) "
- "pour les bibliothèques assemblages et sous la forme "
- "(réflecteur, nom du fichier) pour les bibliothèques réflecteur"),
- ang=("Association between the core elements and the neutronic libraries "
- "in the form (fuel assembly, filename@pattern) for the fuel assembly "
- "libraries and in the form of (reflector, filename) for the "
- "reflector libraries"),
- statut="f",
- typ=Tuple(2),
- validators=VerifNeutLib(),
- max="**"),
code=SIMP(
fr="Sélection du code de neutronique cœur",
ang="Core neutronic code selection",