Anomalie #5655
'eosfunc' n'est pas défini.
Description
eosfunc est importé sous le nom eosfunc3 dans var_loader.py.
Demandes liées
Historique
#1 Mis à jour par Benjamin Bohard il y a plus de 12 ans
>>> from creole.loader import creole_loader
>>> conf = creole_loader(load_extra=True)
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/creole/var_loader.py", line 445, in _populate
getattr(self, 'populate_' + keys)(parse[keys])
File "/usr/lib/python2.7/dist-packages/creole/var_loader.py", line 333, in populate_checks
tvalues = eval(check[1][0]['value'])
File "<string>", line 1, in <module>
NameError: name 'eosfunc' is not defined
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 527, in creole_loader
loader.read_dir(dirs, namespace)
File "/usr/lib/python2.7/dist-packages/creole/var_loader.py", line 424, in read_dir
self._populate(parse)
File "/usr/lib/python2.7/dist-packages/creole/var_loader.py", line 449, in _populate
raise ConfigError(u"Unable to populate {0}: {1}".format(unicode(keys), unicode(err)))
creole.error.ConfigError: Unable to populate checks: name 'eosfunc' is not defined
#2 Mis à jour par Daniel Dehennin il y a plus de 12 ans
- Assigné à mis à Bruno Boiget
- Priorité changé de Normal à Haut
- Version cible mis à Eole 2.4-dev-3
Le commit bfdc9757 a renommé eosfunc en eosfunc3 mais cela cause des soucis comme vu dans le traceback.
Je me demande de plus en plus si la « conteneurisation » de « creole3 » sur un zéphir 2.3 ne serait pas une bien meilleure solution…
#3 Mis à jour par Daniel Dehennin il y a plus de 12 ans
- Echéance mis à 28/06/2013
- Début mis à 25/06/2013
#4 Mis à jour par Daniel Dehennin il y a plus de 12 ans
Le commit 3a24db06 a commenté le « as eosfunc3 », cela ne plante plus pour l’instant.
#5 Mis à jour par Daniel Dehennin il y a plus de 12 ans
- Echéance changé de 28/06/2013 à 05/07/2013
#6 Mis à jour par Daniel Dehennin il y a plus de 12 ans
Il a été suggéré en réunion que qu’un namespace python soit créé afin d’y caser les deux creole.
Il faut voir à quel niveau on sépare :
# Creole 2.3
from creole.parsedico import parse_dico
# Creole 2.4
from eole.creole.loader import creole_loader
#7 Mis à jour par Emmanuel GARETTE il y a plus de 12 ans
A noter que le namespace ne changera pas le problème de cette demande.
Dans le cas du dictionnaire : /usr/share/eole/creole/dicos/10_era.xml, il y a :
<param type="python">eosfunc.list_files
eosfunc existe dans creole et dans eole.creole. Il y aura toujours conflit de nommage.
#8 Mis à jour par Daniel Dehennin il y a plus de 12 ans
- Echéance
05/07/2013supprimé
#9 Mis à jour par Joël Cuissinat il y a plus de 12 ans
- Version cible changé de Eole 2.4-dev-3 à Eole 2.4-alpha
#10 Mis à jour par Joël Cuissinat il y a plus de 12 ans
- Version cible
Eole 2.4-alphasupprimé
#11 Mis à jour par Bruno Boiget il y a plus de 12 ans
- Statut changé de Nouveau à Résolu
- Version cible mis à Eole 2.4-beta2
La méthode d'adaptation pour eole 2.3 a changé (sur eole 2.3 la librairie creole 2.4 est renommée en 'creole3')
fonctionnement à vérifier pour le cas des fonctions personnalisées (dans ce cas, la librairie utilise /usr/share/creole/funcs_creole3 au lieu de /usr/share/creole/funcs).
#12 Mis à jour par Bruno Boiget il y a plus de 12 ans
- % réalisé changé de 0 à 100
#13 Mis à jour par Joël Cuissinat il y a plus de 12 ans
- Statut changé de Résolu à Fermé
Plus de traceback, affaire classée :)