Project

General

Profile

Evolution #5288

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

Added by Emmanuel GARETTE almost 7 years ago. Updated almost 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
05/29/2013
Due date:
05/31/2013
% Done:

100%

Spent time:
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.

Associated revisions

Revision 5c7d2911 (diff)
Added by Daniel Dehennin almost 7 years ago

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

Revision cbea8535 (diff)
Added by tomolimo about 1 year ago

Deleted redondant code
Fixes #5288

History

#1 Updated by Emmanuel GARETTE almost 7 years ago

  • Assigned To set to Daniel Dehennin

#2 Updated by Daniel Dehennin almost 7 years ago

  • Due date set to 05/31/2013
  • Target version set to Eole 2.4-dev-3
  • Start date set to 05/29/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 Updated by Daniel Dehennin almost 7 years ago

  • Status changed from Nouveau to Accepté

#4 Updated by Daniel Dehennin almost 7 years ago

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

#5 Updated by Daniel Dehennin almost 7 years ago

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 Updated by Joël Cuissinat almost 7 years ago

  • Status changed from Résolu to Fermé

OK avec creole 2.4.0-121

Also available in: Atom PDF