{ "info": { "author": "Chris Miles", "author_email": "miles.chris@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Topic :: Internet :: Name Service (DNS)", "Topic :: System :: Systems Administration" ], "description": "easyzone\n========\n\nOverview\n--------\n\nEasyzone is a package to manage the common record types of a\nzone file, including SOA records. This module sits on top of\nthe dnspython package and provides a higher level abstraction\nfor common zone file manipulation use cases.\n\nhttp://www.psychofx.com/easyzone/\nhttp://pypi.python.org/pypi/easyzone\nhttps://bitbucket.org/chrismiles/easyzone/\n\n\nMain features:\n\n* A high-level abstraction on top of dnspython.\n* Load a zone file into objects.\n* Modify/add/delete zone/record objects.\n* Save back to zone file.\n* Auto-update serial (if necessary).\n\n\nRequirements\n------------\n\n * dnspython - http://www.dnspython.org/\n\n\nBuild/Test/Install\n------------------\n\nBuild::\n\n $ python setup.py build\n\nTest::\n\n $ python setup.py test\n\nInstall::\n\n $ python setup.py install\n\n\nOR with setuptools::\n\n $ easy_install easyzone\n\n\nExamples\n--------\n\neasyzone::\n\n >>> from easyzone import easyzone\n >>> z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')\n >>> z.domain\n 'example.com.'\n >>> z.root.soa.serial\n 2007012902L\n >>> z.root.records('NS').items\n ['ns1.example.com.', 'ns2.example.com.']\n >>> z.root.records('MX').items\n [(10, 'mail.example.com.'), (20, 'mail2.example.com.')]\n >>> z.names['foo.example.com.'].records('A').items\n ['10.0.0.1']\n\n >>> ns = z.root.records('NS')\n >>> ns.add('ns3.example.com.')\n >>> ns.items\n ['ns1.example.com.', 'ns2.example.com.', 'ns3.example.com.']\n >>> ns.delete('ns2.example.com')\n >>> ns.items\n ['ns1.example.com.', 'ns3.example.com.']\n\n >>> z.save(autoserial=True)\n\nZoneCheck::\n\n >>> from easyzone.zone_check import ZoneCheck\n >>> c = ZoneCheck()\n >>> c.isValid('example.com', '/var/named/zones/example.com')\n True\n >>> c.isValid('foo.com', '/var/named/zones/example.com')\n False\n >>> c.error\n 'Bad syntax'\n >>> \n >>> c = ZoneCheck(checkzone='/usr/sbin/named-checkzone')\n >>> c.isValid('example.com', '/var/named/zones/example.com')\n True\n >>>\n\nZoneReload::\n\n >>> from easyzone.zone_reload import ZoneReload\n >>> r = ZoneReload()\n >>> r.reload('example.com')\n zone reload up-to-date\n >>> r.reload('foo.com')\n rndc: 'reload' failed: not found\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"easyzone/zone_reload.py\", line 51, in reload\n raise ZoneReloadError(\"rndc failed with return code %d\" % r)\n easyzone.zone_reload.ZoneReloadError: rndc failed with return code 1\n >>> \n >>> r = ZoneReload(rndc='/usr/sbin/rndc')\n >>> r.reload('example.com')\n zone reload up-to-date\n >>>", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.psychofx.com/easyzone/", "keywords": "", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "easyzone", "package_url": "https://pypi.org/project/easyzone/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/easyzone/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.psychofx.com/easyzone/" }, "release_url": "https://pypi.org/project/easyzone/1.2.2/", "requires_dist": null, "requires_python": null, "summary": "Easy Zone - DNS Zone abstraction module", "version": "1.2.2" }, "last_serial": 791525, "releases": { "1.2.0": [ { "comment_text": "", "digests": { "md5": "a46a42ef1162d9d7edc8f5cead1998a4", "sha256": "7a9b444da53a9b40605225d76ac1a5755b3adffb8e66edc90732b87d68b34a19" }, "downloads": -1, "filename": "easyzone-1.2.0-py2.5.egg", "has_sig": false, "md5_digest": "a46a42ef1162d9d7edc8f5cead1998a4", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 16194, "upload_time": "2008-04-24T15:12:36", "url": "https://files.pythonhosted.org/packages/b1/b2/1b342454d72372db8e40ab0b5cbfc9d2979001a6b20b5e38f529fe0e06d3/easyzone-1.2.0-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "c6360cb629b14265ade936bb23c76b1f", "sha256": "2c8d0f84d43564ce1cdb377c09950702b2f0a751b002ffbc2c22a8833420bd8f" }, "downloads": -1, "filename": "easyzone-1.2.0.tar.gz", "has_sig": false, "md5_digest": "c6360cb629b14265ade936bb23c76b1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9195, "upload_time": "2008-04-24T15:12:43", "url": "https://files.pythonhosted.org/packages/14/50/163ed3448ee116a3631409417b99ad6ca35a74300df58949d7a8072435ef/easyzone-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "6d2f9e8358a5d09dd78a3401bca5ea91", "sha256": "52f3ec3eeb8bb1ee098593d774f0efcd43c861a0f086699f0bd65af1d4c14ae0" }, "downloads": -1, "filename": "easyzone-1.2.1-py2.5.egg", "has_sig": false, "md5_digest": "6d2f9e8358a5d09dd78a3401bca5ea91", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 16428, "upload_time": "2008-04-29T01:45:54", "url": "https://files.pythonhosted.org/packages/9c/53/1e6f0eec68723f5b18667b05e884a09a2794f61985f98882ba17304ece21/easyzone-1.2.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "cb8e4ef762a003b394dcbde7d362e684", "sha256": "99ae325e3c561375050734e3241bd4a5034770f0e4efcfee5f057cfb6892e438" }, "downloads": -1, "filename": "easyzone-1.2.1.tar.gz", "has_sig": false, "md5_digest": "cb8e4ef762a003b394dcbde7d362e684", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9492, "upload_time": "2008-04-29T01:46:09", "url": "https://files.pythonhosted.org/packages/93/b0/1980ce0b50b29ec7b87b5ab7ce1587b05bce83ee59b2dcf40c957f92b153/easyzone-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "7745255e98127a81c84d2d79c04888e7", "sha256": "34c7b9bad73745e332e69908a4a57abbb7ae3f6e75b37644ecf5745ee15fed98" }, "downloads": -1, "filename": "easyzone-1.2.2.tar.gz", "has_sig": false, "md5_digest": "7745255e98127a81c84d2d79c04888e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6765, "upload_time": "2011-05-22T13:58:10", "url": "https://files.pythonhosted.org/packages/b0/1a/bf74b3267d641848ced5523c1422704790af7211e86aa765f6922b4e1c3a/easyzone-1.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7745255e98127a81c84d2d79c04888e7", "sha256": "34c7b9bad73745e332e69908a4a57abbb7ae3f6e75b37644ecf5745ee15fed98" }, "downloads": -1, "filename": "easyzone-1.2.2.tar.gz", "has_sig": false, "md5_digest": "7745255e98127a81c84d2d79c04888e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6765, "upload_time": "2011-05-22T13:58:10", "url": "https://files.pythonhosted.org/packages/b0/1a/bf74b3267d641848ced5523c1422704790af7211e86aa765f6922b4e1c3a/easyzone-1.2.2.tar.gz" } ] }