2.4.1 Objetos resultado DNR

Como todas las llamadas a DNR se ejecutan asíncronamente, no se obtienen los resultados inmediatamente. En su lugar, se obtiene un objeto resultado dnr. Se puede comprobar este objeto para saber si la consulta está lista y acceder a sus atributos cuando lo esté.

En lugar de esto, se puede hacer referencia a los atributos del resultado directamente, los que provocará una espera implícita hasta que se complete la consulta.

Los atributos rtnCode y cname siempre están disponibles, los otros dependen del tipo de consulta (dirección, hinfo o mx).

wait ()
Esperar que la consulta esté completa.

isdone ()
Devuelve 1 si la consulta está completa.

rtnCode
El código de error devuelto por la consulta.

cname
El nombre canónico del nodo consultado.

ip0
ip1
ip2
ip3
A lo sumo, cuatro direcciones IP enteras de este nodo. Los valores no utilizados so cero. Sólo es válido en consultas de direcciones.

cpuType
osType
Cadenas textuales que indican el tipo de máquina y sistema operativo. Válido en consultas ``hinfo''.

exchange
Nombre de un nodo intercambiador de correo. Válido en consultas ``mx''.

preference
La preferencia de este registro mx. No es muy útil, porque el Macintosh sólo devuelve un solo registro mx. Válido en consultas ``mx''.

El modo más simple de usar este módulo para convertir nombres en cadenas decimales separadas por puntos, sin tener en cuenta los tiempos de espera, etc., es:

>>> def gethostname(nombre):
...     import macdnr
...     dnrr = macdnr.StrToAddr(nombre)
...     return macdnr.AddrToStr(dnrr.ip0)

Ver Sobre este documento... para obtener información sobre sugerencias.