master
index
trunk/src/lib/python/isc/datasrc/master.py

# Copyright (C) 2010  Internet Systems Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SYSTEMS CONSORTIUM
# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
# INTERNET SYSTEMS CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

 
Modules
       
os
re
string
sys
time

 
Classes
       
builtins.Exception(builtins.BaseException)
MasterFileError
builtins.object
MasterFile

 
class MasterFile(builtins.object)
    #########################################################################
# define the MasterFile class for reading zone master files
#########################################################################
 
  Methods defined here:
__del__(self)
__init__(self, filename, initial_origin='', verbose=False)
closeverbose(self)
########################################################################
#close verbose
######################################################################
reset(self)
#########################################################################
# reset: reset the state of the master file
#########################################################################
zonedata(self)
#########################################################################
# zonedata: generator function to parse a zone master file and return
# each RR as a (name, ttl, type, class, rdata) tuple
#########################################################################
zonename(self)
#########################################################################
# zonename: scans zone data for an SOA record, returns its name, restores
# the zone file to its prior state
#########################################################################

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class MasterFileError(builtins.Exception)
    #########################################################################
# define exceptions
#########################################################################
 
 
Method resolution order:
MasterFileError
builtins.Exception
builtins.BaseException
builtins.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from builtins.Exception:
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Data and other attributes inherited from builtins.Exception:
__new__ = <built-in method __new__ of type object at 0x7f7ffdd5b0e0>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from builtins.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__reduce__(...)
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__str__(...)
x.__str__() <==> str(x)
with_traceback(...)
Exception.with_traceback(tb) --
set self.__traceback__ to tb and return self.

Data descriptors inherited from builtins.BaseException:
__cause__
exception cause
__context__
exception context
__dict__
__traceback__
args

 
Functions
       
cleanup(s)
isclass(s)
isname(s)
isttl(s)
istype(s)
main()
#########################################################################
# main: used for testing; parse a zone file and print out each record
# broken up into separate name, ttl, class, type, and rdata files
#########################################################################
parse_ttl(s)
#########################################################################
# parse_ttl: convert a TTL field into an integer TTL value
# (multiplying as needed for minutes, hours, etc.)
# input:
#   string
# returns:
#   int
# throws:
#   MasterFileError
#########################################################################
pop(line)
#########################################################################
# pop: remove the first word from a line
# input: a line
# returns: first word, rest of the line
#########################################################################
records(input)
#########################################################################
# records: generator function to return complete RRs from the zone file,
# combining lines when necessary because of parentheses
# input:
#   descriptor for a zone master file (returned from openzone)
# yields:
#   complete RR
#########################################################################

 
Data
        decomment = <_sre.SRE_Pattern object at 0x7f7ffc107c10>
name_regex = <_sre.SRE_Pattern object at 0x7f7ffc127540>
rrclasses = set(['ch', 'chaos', 'hesiod', 'hs', 'in'])
rrtypes = set(['a', 'aaaa', 'afsdb', 'apl', 'cert', 'cname', ...])
ttl_regex = <_sre.SRE_Pattern object at 0x7f7ffc13a288>