# $Id: lazy.py,v 1.1 2004/03/03 03:30:40 dan Exp $
#
# This file is part of the pydns project.
# Homepage: http://pydns.sourceforge.net
#
# This code is covered by the standard Python License.
#

# routines for lazy people.
import Base
import string

def revlookup(name):
    "convenience routine for doing a reverse lookup of an address"
    a = string.split(name, '.')
    a.reverse()
    b = string.join(a, '.')+'.in-addr.arpa'
    # this will only return one of any records returned.
    return Base.DnsRequest(b, qtype = 'ptr').req().answers[0]['data']

def mxlookup(name):
    """
    convenience routine for doing an MX lookup of a name. returns a
    sorted list of (preference, mail exchanger) records
    """
    a = Base.DnsRequest(name, qtype = 'mx').req().answers
    l = map(lambda x:x['data'], a)
    l.sort()
    return l

#
# $Log: lazy.py,v $
# Revision 1.1  2004/03/03 03:30:40  dan
#
# The "It's like I have a shotgun in my mouth, I've got my finger on the
# trigger, and I like the taste of the gunmetal." release.
#
#
# - Implemented dispatcher (God help us)
# - Added DNS module into our tree. It's not a standard python module and
#   may not be available on the target system or may be outdated.
#   Don't want silly question about where to get this. Plus the default
#   version with python2.3 gives a deprecation warning because someone
#   put his name in there using latin2 chars and forgot to set the file
#   encoding. The warning is harmless, but users will ask what is that about
#   every 5 minutes a f---ing day.
# - Moved all python files that are not executed directly into modules/
# - Separated extended option class into a module
# - New Option type: server address (TCP/IP address or Unix socket)
# - Return IP and port in answers to be able to work remotely.
#
# Revision 1.5  2002/05/06 06:14:38  anthonybaxter
# reformat, move import to top of file.
#
# Revision 1.4  2002/03/19 12:41:33  anthonybaxter
# tabnannied and reindented everything. 4 space indent, no tabs.
# yay.
#
# Revision 1.3  2001/08/09 09:08:55  anthonybaxter
# added identifying header to top of each file
#
# Revision 1.2  2001/07/19 06:57:07  anthony
# cvs keywords added
#
#
