Projet

Général

Profil

Evolution #5288

creole/client.py intérêt de la fonction "list"

Ajouté par Emmanuel GARETTE il y a presque 11 ans. Mis à jour il y a presque 11 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
29/05/2013
Echéance:
31/05/2013
% réalisé:

100%

Temps passé:
Distribution:
EOLE 2.4

Description

A priori la fonction "list" n'a pas d'intérêt. Sauf erreur de ma part ce n'est que la fonction "get()" mis dans un liste à 1 élément.

Le "path" étant obligatoire non vide, donc la longueur de args n'est pas égale a 0 donc ne fait qu'un get.

Révisions associées

Révision 5c7d2911 (diff)
Ajouté par Daniel Dehennin il y a presque 11 ans

L’exploration de l’arborescence par « CreoleClient.list() » est cassée

L’appel à « CreoleClient.list() » sans argument liste le premier niveau,
mais « CreoleClient.list('/creole/') » est presque équivalent
à « CreoleClient.get('/creole') ».

  • creole/server.py (CreoleServer.list): Rétablissement du comportement de
    liste sur un seul niveau.

Cela corrige une partie du commit cb8d75c5fad50f30fe50eb0f1705396e2aecb9c6.

Fixes: #5288 @5m

Révision cbea8535 (diff)
Ajouté par tomolimo il y a environ 5 ans

Deleted redondant code
Fixes #5288

Historique

#1 Mis à jour par Emmanuel GARETTE il y a presque 11 ans

  • Assigné à mis à Daniel Dehennin

#2 Mis à jour par Daniel Dehennin il y a presque 11 ans

  • Echéance mis à 31/05/2013
  • Version cible mis à Eole 2.4-dev-3
  • Début mis à 29/05/2013

La fonction « list » ne doit retourner qu’un seul niveau, cela permet une exploration de l’arborescence :

>>> from creole.loader import creole_loader
>>> conf = creole_loader()
>>> conf.creole
[general]
[services]
[firewall]
[messagerie]
[systeme]
[certifs_ssl]
[sshd]
[interface_0]
[interface_1]
[reseau_avance]
[zones_dns]
[rvp]
[ead_web]
[authentification]
[clamav]
[dansguardian]
[proxy_pere]
[squid]
[squid2]
[proxy_authentifie_2]
[reverse_proxy]
[applications_web]
eol_file = /etc/eole/config.eol

Le code est actuellement cassé :

>>> from creole.client import CreoleClient
>>> c = CreoleClient()
>>> c.list('/')
[u'creole/', u'containers/', u'schedule/']
>>> c.list('/creole/')
[{u'applications_web.activer_web_behind_revproxy': u'oui',
  u'applications_web.web_behind_revproxy_ip': None,
  u'authentification.activer_squid_auth': u'non',
  u'certifs_ssl.server_cert': u'/etc/ssl/certs/eole.crt',
[...]
}]

#3 Mis à jour par Daniel Dehennin il y a presque 11 ans

  • Statut changé de Nouveau à Accepté

#4 Mis à jour par Daniel Dehennin il y a presque 11 ans

  • Statut changé de Accepté à Résolu
  • % réalisé changé de 0 à 100

#5 Mis à jour par Daniel Dehennin il y a presque 11 ans

Voilà ce que cela donne avec le commit de résolution :

>>> from creole.client import CreoleClient
>>> c = CreoleClient()
>>> c.list('/creole/')
[u'general/',
 u'services/',
 u'firewall/',
 u'messagerie/',
 u'systeme/',
 u'certifs_ssl/',
 u'sshd/',
 u'interface_0/',
 u'interface_1/',
 u'reseau_avance/',
 u'zones_dns/',
 u'rvp/',
 u'ead_web/',
 u'authentification/',
 u'clamav/',
 u'dansguardian/',
 u'proxy_pere/',
 u'squid/',
 u'squid2/',
 u'proxy_authentifie_2/',
 u'reverse_proxy/',
 u'applications_web/',
 u'containers/',
 u'eol_file']

#6 Mis à jour par Joël Cuissinat il y a presque 11 ans

  • Statut changé de Résolu à Fermé

OK avec creole 2.4.0-121

Formats disponibles : Atom PDF