Project

General

Profile

Anomalie #3238

enregistrement_zephir ne gere pas directement les fonctions dans /usr/share/creole/funcs

Added by Christophe Dezé over 7 years ago. Updated almost 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
04/04/2012
Due date:
% Done:

100%

Estimated time:
0.75 h
Spent time:
Distribution:
Toutes

Description

Lors d'un enregistrement_zephir ,quand il recupere les fichiers de la variante , il ne lit pas les fichiers dans /usr/share/creole/funcs avant verifier les dicos! si on refait un enregistrement dans la foulée , les fonctions utilisées passent bien,

** attente de la mise en place des fichiers **

** Vérification du dictionnaire **

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 481, in read_dir
    self.read(join(mydir, dic))
  File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 96, in read
    new_constraints, new_groups, helps, separators)
  File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 465, in _read
    var.init_fills()
  File "/usr/lib/pymodules/python2.6/creole/typeole.py", line 117, in init_fills
    self.val = self.get_calculated_value()
  File "/usr/lib/pymodules/python2.6/creole/typeole.py", line 367, in get_calculated_value
    vals = self.eval_func(func, params)
  File "/usr/lib/pymodules/python2.6/creole/typeole.py", line 256, in eval_func
    raise TypeEoleError("""%s - erreur à l'exécution de %s (ligne %s): %s""" % (str(self.name), str(function), err_line, str(err)))
TypeEoleError: fw_pronote_relai_ip_49200 - erreur à l'exécution de mig_slave_val (ligne 251): 'module' object has no attribute 'mig_slave_val'
Traceback (most recent call last):
  File "/usr/bin/enregistrement_zephir", line 1049, in <module>
    main(use_pppoe, force_conf_net)
  File "/usr/bin/enregistrement_zephir", line 959, in main
    id_serveur = conf_uucp(zephir_proxy, adresse_zephir, user)
  File "/usr/bin/enregistrement_zephir", line 686, in conf_uucp
    id_serveur = recup_conf(resultat,id_serveur,zephir_proxy,no_conf,conf_saved)
  File "/usr/bin/enregistrement_zephir", line 152, in recup_conf
    d.read_dir(os.path.join(dicos_dir, repdico))
  File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 485, in read_dir
    raise ConfigError, 'erreur lors du chargement de %s : %s' % (join(mydir, dic), str(err))
creole.error.ConfigError: erreur lors du chargement de /usr/share/eole/creole/dicos/variante/00_migration.xml : fw_pronote_relai_ip_49200 - erreur à l'exécution de mig_slave_val (ligne 251): 'module' object has no attribute 'mig_slave_val                                                                                        '
root@amon:~#

dans un dico

<fill name='mig_slave_val' target='fw_pronote_relai_eth0_alias_49200'>
     <param type='eole' name='condition_1' >fw_pnrelais49200_tmp</param> 
    <param type='eole' name='condition_2' >fw_pnrelais49200_0_tmp</param>
    <param type='eole' name='condition_3' >fw_pnrelais49200_1_tmp</param>
    <param type='eole' name='condition_4' >fw_pnrelais49200_2_tmp</param>
    <param type='eole' name='condition_5' >fw_pnrelais49200_3_tmp</param>
     <param type='eole' name='condition_6' >fw_pnrelais49200_ip</param> 
    <param type='eole' name='condition_7' >fw_pnrelais49200_ip_0</param>
    <param type='eole' name='condition_8' >fw_pnrelais49200_ip_1</param>
    <param type='eole' name='condition_9' >fw_pnrelais49200_ip_2</param>
    <param type='eole' name='condition_10' >fw_pnrelais49200_ip_3</param>
</fill>

dans /usr/share/creole/funcs/funcs_nantes.py


def mig_slave_val( **conditions):
    """ 
    fonction qui permet de verifier et nettoyer
    les var multi avec maste
    """ 
    masters = []
    slaves = []
    for num in range(0, len(conditions)/2):
        if not conditions.has_key('condition_%s'%(num+1)):
            raise ValueError('Condition %s calc_multi_condition inconnue'%num+1)

        master = conditions['condition_%s'%(num+1)]
        slave = conditions['condition_%s'%(num+1+len(conditions)/2)]
        if master == 'oui en DMZ' :
            master = 'oui'
        #si slave vide on fait rien
        if slave == 'aucun' or slave == '' or slave == None or len(slave) == 0 or slave =='non':
            pass
        #si qqchose dans slave
        else:
            #si rien dans slave
            if master == 'aucun' or master == '' or master == None or len(master) == 0 or master =='non':
                pass
            #si qqchose dans master et slave on garde
            else:
                masters.append(master)
    return(masters)

Related issues

Related to creole - Evolution #3461: permettre un rechargement des fonctions personnalisées (eosfunc) Fermé 05/11/2012
Related to zephir-client - Anomalie #4640: problème à l'enregistrement possible en cas de redefine sur une variable Fermé 01/04/2013 02/15/2013

Associated revisions

Revision 3bfbff70 (diff)
Added by Bruno Boiget over 7 years ago

correction d'enregistrement_zephir si des fonctions creole (/usr/share/creole/funcs) sont descendues avec la configuration (fixes #3238)

Revision 882c4c59 (diff)
Added by Bruno Boiget over 7 years ago

modification méthode de rechargement des fonctions creole pour éviter les avertissements (ref #3238)

Revision 20561a01 (diff)
Added by Anael Mobilia almost 2 years ago

Remove old and not updated files.
Fix #3238

I suggest to remove these two files which are replaced (and updated) by :
README.md
https://github.com/glpi-project/glpi/graphs/contributors

History

#1 Updated by Joël Cuissinat over 7 years ago

  • Assigned To set to Bruno Boiget

#2 Updated by Joël Cuissinat over 7 years ago

  • Target version set to Mises à jour 2.3.5 RC
  • Estimated time set to 0.75 h

#3 Updated by Joël Cuissinat over 7 years ago

  • Project changed from Zéphir to zephir-client

#4 Updated by Bruno Boiget over 7 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 0 to 100

#5 Updated by Bruno Boiget over 7 years ago

avec cette correction, on est susceptible d'avoir des messages d'avertissement lors du rechargement du module:

/usr/share/creole/funcs/test_func.py - déjà défini : func_2_test

--> ne pas afficher de message lors de la relecture d'une fonction existante (dans eosfunc.py) ?

#6 Updated by Fabrice Barconnière over 7 years ago

  • Status changed from Résolu to Fermé

#7 Updated by Bruno Boiget almost 7 years ago

  • Description updated (diff)

Also available in: Atom PDF