Driver selection
Gabriel Genellina
gagsl-py at yahoo.com.ar
Mon Dec 11 18:59:27 EST 2006
At Saturday 9/12/2006 13:15, Stuart D. Gathman wrote:
>app.py:
>
>import spf
>spf.set_driver('dnspython')
>...
>
>Can a function replace itself? For instance, in spf.py, could DNSLookup
>do this to provide a default:
>
>def set_driver(d):
> if d == 'pydns':
> from pydns_driver import DNSLookup
> elif d == 'dnspython':
> from dnspython_driver import DNSLookup
> else: raise Exception('Unknown DNS driver')
>
>def DNSLookup(name,t):
> from pydns_driver import DNSLookup
> return DNSLookup(name,t)
The above code *almost* works, but DNSLookup is a local name inside
the function. Use the global statement.
As an example, see how getpass.py (in the standard library) manages
the various getpass implementations.
--
Gabriel Genellina
Softlab SRL
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
More information about the Python-list
mailing list