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 10 ans
- Fichier 7343.patch Voir ajouté
- Statut changé de Nouveau à Accepté
#2 Mis à jour par Emmanuel GARETTE il y a environ 10 ans
Corrigé upstream (commit : 72f06bc).
#3 Mis à jour par Daniel Dehennin il y a environ 10 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 10 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'