Evolution #7343
Plantage si utilisation d'une variable experte dans une fonction alors qu'on est en mode normal
Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
Distribution:
EOLE 2.4
Description
Avec les morceaux de dictionnaires suivant :
<family name='famille basique'>
<variable name='v1' description='v1' mandatory='True'/>
</family>
<family name='famille experte' mode='expert'>
<variable name='v2' description='v2' mandatory='True'/>
</family>
<check name='valid_differ' target='v1'>
<param type='eole'>v2</param>
</check>
Cela donne :
from eolegenconfig import lib
lib.set_mode('pouet', 'basic')
a=lib.get_config('pouet')
>>> a.creole.famille_basique.v1=u'test'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 181, in __setattr__
self._setattr(name, value)
File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 196, in _setattr
force_permissive=force_permissive)
File "/usr/lib/python2.7/dist-packages/tiramisu/value.py", line 255, in setitem
'validator' in self.context().cfgimpl_get_settings())
File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 449, in impl_validate
do_validation(value, force_index)
File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 432, in do_validation
descr._valid_consistency(self, _value, context, _index)
File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1310, in _valid_consistency
all_cons_opts)
File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 370, in _launch_consistency
descr.impl_get_path_by_opt(opt), validate=False)
File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 223, in _getattr
force_properties=force_properties)
File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 73, in cfgimpl_get_home_by_path
force_properties=force_properties)
File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 244, in _getattr
force_properties=force_properties)
File "/usr/lib/python2.7/dist-packages/tiramisu/setting.py", line 481, in validate_properties
str(props)), props)
tiramisu.error.PropertiesOptionError: trying to access to an option named: famille_experte with properties ['expert']
Historique
#1 Mis à jour par Joël Cuissinat il y a environ 12 ans
- Fichier 7343.patch Voir ajouté
- Statut changé de Nouveau à Accepté
#2 Mis à jour par Emmanuel GARETTE il y a environ 12 ans
Corrigé upstream (commit : 72f06bc).
#3 Mis à jour par Daniel Dehennin il y a environ 12 ans
- Echéance mis à 21/02/2014
- Statut changé de Accepté à Résolu
- Début mis à 17/02/2014
- % réalisé changé de 0 à 100
Appliqué par commit fc7f3c24a5882040f775481bcc6c3a9898e6cc43
#4 Mis à jour par Bruno Boiget il y a environ 12 ans
- Statut changé de Résolu à Fermé
testé sur scribe avec le dictionnaire donné en exemple
>>> from eolegenconfig import lib
>>> lib.set_mode('pouet', 'basic')
>>> a=lib.get_config('pouet')
>>> a.creole.famille_basique.v1=u'test'
>>> a.creole.famille_basique.v1
u'test'