Metadata-Version: 2.1
Name: dnszone
Version: 2.0.2
Summary: Easy Zone - DNS Zone abstraction module
Home-page: https://github.com/greg-hellings/dnszone
Author: Greg Hellings
Author-email: greg.hellings@gmail.com
License: MIT
Description: dnszone
        
        ========
        
        
        
        Overview
        
        --------
        
        
        
        This package is forked from [Easyzone](https://bitbucket.org/chrismiles/easyzone),
        
        created by Chris Miles. I have forked it to include bugfixes for installation
        
        and also to update the package for compatibility with Python 3.
        
        
        
        DNSZone is a package to manage the common record types of a
        
        zone file, including SOA records.  This module sits on top of
        
        the dnspython package and provides a higher level abstraction
        
        for common zone file manipulation use cases.
        
        
        
        Main features:
        
        
        
        * A high-level abstraction on top of dnspython.
        
        * Load a zone file into objects.
        
        * Modify/add/delete zone/record objects.
        
        * Save back to zone file.
        
        * Auto-update serial (if necessary).
        
        
        
        Websites:
        
        * http://pypi.python.org/pypi/dnszone
        
        * https://github.com/greg-hellings/dnszone/
        
        
        
        
        
        Requirements
        
        ------------
        
        
        
          * [dnspython](http://www.dnspython.org/)
        
        
        
        
        
        Build/Test/Install
        
        ------------------
        
        
        
        Build::
        
        
        
        ```bash
        
          $ python setup.py build
        
        ```
        
        
        
        Test::
        
        
        
        ```bash
        
          $ python setup.py test
        
        ```
        
        
        
        Install::
        
        
        
        ```bash
        
          $ python setup.py install
        
        ```
        
        
        
        
        
        OR with setuptools::
        
        
        
        ```bash
        
          $ easy_install dnszone
        
        ```
        
        
        
        
        
        Examples
        
        --------
        
        
        
        dnszone::
        
        
        
        ```
        
          >>> from dnszone import dnszone
        
          >>> z = dnszone.zone_from_file('example.com', '/var/namedb/example.com')
        
          >>> z.domain
        
          'example.com.'
        
          >>> z.root.soa.serial
        
          2007012902L
        
          >>> z.root.records('NS').items
        
          ['ns1.example.com.', 'ns2.example.com.']
        
          >>> z.root.records('MX').items
        
          [(10, 'mail.example.com.'), (20, 'mail2.example.com.')]
        
          >>> z.names['foo.example.com.'].records('A').items
        
          ['10.0.0.1']
        
        
        
          >>> ns = z.root.records('NS')
        
          >>> ns.add('ns3.example.com.')
        
          >>> ns.items
        
          ['ns1.example.com.', 'ns2.example.com.', 'ns3.example.com.']
        
          >>> ns.delete('ns2.example.com')
        
          >>> ns.items
        
          ['ns1.example.com.', 'ns3.example.com.']
        
        
        
          >>> z.save(autoserial=True)
        
        ```
        
        
        
        ZoneCheck::
        
        
        
        ```
        
          >>> from dnszone.zone_check import ZoneCheck
        
          >>> c = ZoneCheck()
        
          >>> c.isValid('example.com', '/var/named/zones/example.com')
        
          True
        
          >>> c.isValid('foo.com', '/var/named/zones/example.com')
        
          False
        
          >>> c.error
        
          'Bad syntax'
        
          >>>
        
          >>> c = ZoneCheck(checkzone='/usr/sbin/named-checkzone')
        
          >>> c.isValid('example.com', '/var/named/zones/example.com')
        
          True
        
          >>>
        
        ```
        
        
        
        ZoneReload::
        
        
        
        ```
        
          >>> from dnszone.zone_reload import ZoneReload
        
          >>> r = ZoneReload()
        
          >>> r.reload('example.com')
        
          zone reload up-to-date
        
          >>> r.reload('foo.com')
        
          rndc: 'reload' failed: not found
        
          Traceback (most recent call last):
        
            File "<stdin>", line 1, in <module>
        
            File "dnszone/zone_reload.py", line 51, in reload
        
              raise ZoneReloadError("rndc failed with return code %d" % r)
        
          dnszone.zone_reload.ZoneReloadError: rndc failed with return code 1
        
          >>>
        
          >>> r = ZoneReload(rndc='/usr/sbin/rndc')
        
          >>> r.reload('example.com')
        
          zone reload up-to-date
        
          >>>
        
        ```
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: Name Service (DNS)
Classifier: Topic :: System :: Systems Administration
Description-Content-Type: text/markdown
