Projet

Général

Profil

Evolution #7343

Plantage si utilisation d'une variable experte dans une fonction alors qu'on est en mode normal

Ajouté par Joël Cuissinat il y a environ 10 ans. Mis à jour il y a environ 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
17/02/2014
Echéance:
21/02/2014
% réalisé:

100%

Temps estimé:
1.00 h
Temps passé:
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']

7343.patch Voir (597 octets) Joël Cuissinat, 06/02/2014 16:42

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

#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'

Formats disponibles : Atom PDF