====================
Outil de l'interface
====================

Dans 'lib/tools.py' on trouve des fonctions utilises dans l'Ead.


Gestionnaire de donnes
-----------------------

- servers()

Pour la gestion des donnes (gestion de la liste de serveur via le fichier de conf servers.ini),

on cre une instance de la classe ServerParser  chaque utilisation via la fonction servers():

::

	def servers():
    	    SERVERS = ServerParser(BACKEND_LISTEN_PORT, config.SERVERS_FILE)
	    return SERVERS
            ...
        servers = servers().get_server()
        ...
        url, port, comment, key = servers().get_server(id_serveur)


Ajout suppression d'un serveur
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pour ajouter ou supprimer un serveur, on commence par enlever la cl du cot du serveur:

::

    server = '%s:%s'%(url,port)
    proxy = xmlrpclib.ServerProxy(server, transport=TransportEole())
    try:
        #retourne 0 si ok
        return_code = proxy.unregister_frontend(key, login, passwd)
    except Exception, e:
        print "erreur unregister"

Ensuite on enlve la rfrence ct frontend:

::

    servers().del_server(id_server)

Filtre String-Booleen
---------------------

- filter_dico(dico)

Outil de filtrage pour dico, si le dico contient des valeurs booleenes sous forme de string, il les convertit.

Il est utilis pour modifier les paramtres provenant du javascript, avant de les transmettre au backend.

::

	def filter_dico(dico):
    """ filtre les valeurs d'un dico et transforme les strings en booleen si il y a lieu """
    temp = {}
    for item, value in dico.items():
        if value in ['True', u'True']:
            temp[item] = True
        elif value in ['False', u'False']:
            temp[item] = False
        else:
            temp[item] = value
    return temp

Initialisateur de session
-------------------------

- _init_session(session)

Modifie un objet session et l'initialise pour l'Ead.

Remise  zro des donnes de connexion  un serveur
---------------------------------------------------

- _reset_session_params(session)

Permet de 'nettoyer' l'objet session aprs dconnexion

Chargement des fichiers propres au module trait
------------------------------------------------

- initialize_ead_files(session)

Tlcharge les fichiers (images, feuilles de style, javascript) propre au module en cour de traitement.
Envoi d'une requte pour savoir quel module est en cour de traitement, envoit du  listdir de static/script/<nom du module>,
tlchargement des fichiers en html. Voir doc/actions/design.txt.
