home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1631 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  3.2 KB  |  88 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import StringIO
  5. import dns.rdataset as dns
  6. import dns.rdatatype as dns
  7. import dns.renderer as dns
  8.  
  9. class Node(object):
  10.     __slots__ = [
  11.         'rdatasets']
  12.     
  13.     def __init__(self):
  14.         self.rdatasets = []
  15.  
  16.     
  17.     def to_text(self, name, **kw):
  18.         s = StringIO.StringIO()
  19.         for rds in self.rdatasets:
  20.             print >>s, rds.to_text(name, **kw)
  21.         
  22.         return s.getvalue()[:-1]
  23.  
  24.     
  25.     def __repr__(self):
  26.         return '<DNS node ' + str(id(self)) + '>'
  27.  
  28.     
  29.     def __eq__(self, other):
  30.         for rd in self.rdatasets:
  31.             if rd not in other.rdatasets:
  32.                 return False
  33.         
  34.         for rd in other.rdatasets:
  35.             if rd not in self.rdatasets:
  36.                 return False
  37.         
  38.         return True
  39.  
  40.     
  41.     def __ne__(self, other):
  42.         return not self.__eq__(other)
  43.  
  44.     
  45.     def __len__(self):
  46.         return len(self.rdatasets)
  47.  
  48.     
  49.     def __iter__(self):
  50.         return iter(self.rdatasets)
  51.  
  52.     
  53.     def find_rdataset(self, rdclass, rdtype, covers = dns.rdatatype.NONE, create = False):
  54.         for rds in self.rdatasets:
  55.             if rds.match(rdclass, rdtype, covers):
  56.                 return rds
  57.         
  58.         if not create:
  59.             raise KeyError
  60.         create
  61.         rds = dns.rdataset.Rdataset(rdclass, rdtype)
  62.         self.rdatasets.append(rds)
  63.         return rds
  64.  
  65.     
  66.     def get_rdataset(self, rdclass, rdtype, covers = dns.rdatatype.NONE, create = False):
  67.         
  68.         try:
  69.             rds = self.find_rdataset(rdclass, rdtype, covers, create)
  70.         except KeyError:
  71.             rds = None
  72.  
  73.         return rds
  74.  
  75.     
  76.     def delete_rdataset(self, rdclass, rdtype, covers = dns.rdatatype.NONE):
  77.         rds = self.get_rdataset(rdclass, rdtype, covers)
  78.         if rds is not None:
  79.             self.rdatasets.remove(rds)
  80.         
  81.  
  82.     
  83.     def replace_rdataset(self, replacement):
  84.         self.delete_rdataset(replacement.rdclass, replacement.rdtype, replacement.covers)
  85.         self.rdatasets.append(replacement)
  86.  
  87.  
  88.