[Python] twisted, ldaptor, etc
Manlio Perillo
manlio_perillo a libero.it
Gio 4 Mar 2010 11:48:15 CET
Marco Mariani ha scritto:
> ciao!
>
> Premetto che non ho avuto bisogno di twisted fino ad oggi, forse non ho
> letto a sufficienza la documentazione.
>
> Vorrei sostituire una dipedenza da python-ldap con twisted+ldaptor, per
> restare in pure-python
>
> Ldaptor e' ancora "vivo", giusto?
>
Non lo so.
Ma non ci sono altri package in puro python?
> Lo userei solamente per search e bind, nell'autenticazione degli utenti.
> Dovrei quindi eseguire una chiamata a LDAP, ma una volta ottenuta la
> deferred con
>
> connector = ldapconnector.LDAPClientCreator(reactor, ldapclient.LDAPClient)
> d = connector.connectAnonymously(dn, {dn: (hostname, 10389)})
>
> come faccio ad attendere il risultato?
>
Non puoi integrare Twisted all'interno di un altra applicazione normale,
a meno di fare cose orribili (e inefficienti).
> Usavo le deferred con MochiKit e mi e' chiaro il funzionamento, ma in
> questo caso sono dentro a un IdentityProvider di TurboGears e temo che
> l'unico modo sia simulare un'operazione sincrona.
>
Twisted per funzionare ha bisogno che si sia un reactor attivo.
Ovviamente non puoi attivare il reactor dentro la tua applicazione web.
Le soluzioni sono:
1) Avviare il reactor, esequire il codice, arrestare il reactor.
Ma questo è inefficiente.
2) Avviare il reactor in un thread separato, e mandargli le varie
richieste via una Queue.
Ma dubito funzioni e vai in cerca di guai.
Ciao Manlio
Maggiori informazioni sulla lista
Python