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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import dns.name as dns
  5. import dns.rdataset as dns
  6. import dns.rdataclass as dns
  7. import dns.renderer as dns
  8.  
  9. class RRset(dns.rdataset.Rdataset):
  10.     __slots__ = [
  11.         'name',
  12.         'deleting']
  13.     
  14.     def __init__(self, name, rdclass, rdtype, covers = dns.rdatatype.NONE, deleting = None):
  15.         super(RRset, self).__init__(rdclass, rdtype)
  16.         self.name = name
  17.         self.deleting = deleting
  18.  
  19.     
  20.     def _clone(self):
  21.         obj = super(RRset, self)._clone()
  22.         obj.name = self.name
  23.         obj.deleting = self.deleting
  24.         return obj
  25.  
  26.     
  27.     def __repr__(self):
  28.         if self.covers == 0:
  29.             ctext = ''
  30.         else:
  31.             ctext = '(' + dns.rdatatype.to_text(self.covers) + ')'
  32.         if self.deleting is not None:
  33.             dtext = ' delete=' + dns.rdataclass.to_text(self.deleting)
  34.         else:
  35.             dtext = ''
  36.         return '<DNS ' + str(self.name) + ' ' + dns.rdataclass.to_text(self.rdclass) + ' ' + dns.rdatatype.to_text(self.rdtype) + ctext + dtext + ' RRset>'
  37.  
  38.     
  39.     def __str__(self):
  40.         return self.to_text()
  41.  
  42.     
  43.     def __eq__(self, other):
  44.         if not isinstance(other, RRset):
  45.             return False
  46.         if self.name != other.name:
  47.             return False
  48.         return super(RRset, self).__eq__(other)
  49.  
  50.     
  51.     def match(self, name, rdclass, rdtype, covers, deleting = None):
  52.         if not super(RRset, self).match(rdclass, rdtype, covers):
  53.             return False
  54.         if self.name != name or self.deleting != deleting:
  55.             return False
  56.         return True
  57.  
  58.     
  59.     def to_text(self, origin = None, relativize = True, **kw):
  60.         return super(RRset, self).to_text(self.name, origin, relativize, self.deleting, **kw)
  61.  
  62.     
  63.     def to_wire(self, file, compress = None, origin = None, **kw):
  64.         return super(RRset, self).to_wire(self.name, file, compress, origin, self.deleting, **kw)
  65.  
  66.     
  67.     def to_rdataset(self):
  68.         return dns.rdataset.from_rdata_list(self.ttl, list(self))
  69.  
  70.  
  71.  
  72. def from_text_list(name, ttl, rdclass, rdtype, text_rdatas):
  73.     if isinstance(name, (str, unicode)):
  74.         name = dns.name.from_text(name, None)
  75.     
  76.     if isinstance(rdclass, str):
  77.         rdclass = dns.rdataclass.from_text(rdclass)
  78.     
  79.     if isinstance(rdtype, str):
  80.         rdtype = dns.rdatatype.from_text(rdtype)
  81.     
  82.     r = RRset(name, rdclass, rdtype)
  83.     r.update_ttl(ttl)
  84.     for t in text_rdatas:
  85.         rd = dns.rdata.from_text(r.rdclass, r.rdtype, t)
  86.         r.add(rd)
  87.     
  88.     return r
  89.  
  90.  
  91. def from_text(name, ttl, rdclass, rdtype, *text_rdatas):
  92.     return from_text_list(name, ttl, rdclass, rdtype, text_rdatas)
  93.  
  94.  
  95. def from_rdata_list(name, ttl, rdatas):
  96.     if isinstance(name, (str, unicode)):
  97.         name = dns.name.from_text(name, None)
  98.     
  99.     if len(rdatas) == 0:
  100.         raise ValueError, 'rdata list must not be empty'
  101.     len(rdatas) == 0
  102.     r = None
  103.     for rd in rdatas:
  104.         if r is None:
  105.             r = RRset(name, rd.rdclass, rd.rdtype)
  106.             r.update_ttl(ttl)
  107.             first_time = False
  108.         
  109.         r.add(rd)
  110.     
  111.     return r
  112.  
  113.  
  114. def from_rdata(name, ttl, *rdatas):
  115.     return from_rdata_list(name, ttl, rdatas)
  116.  
  117.