{ "info": { "author": "Develatio", "author_email": "contact@develat.io", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration" ], "description": "# Python library for CRUD operations on cdmon.com\n\nThis project will let you manage programmatically your domains in cdmon.com\n\n## How does it work?\n\nIt runs Chrome in headless mode and does what you'd do manually. There is no\ndark magic nor obscure hacks.\n\n## What do I need?\n\nAny Python 3.x (+3.2 recommended) with PIP and Chrome (headless)\n\n## How can I use it?\n\nA very basic usage example:\n\n```python\nfrom cdmon import CDMON\n\ncdmon = CDMON()\ncdmon.login()\n\ncdmon.work_on(\"foo.com\")\ncdmon.create_record(\"TXT\", {\n \"redirect_type\": \"custom\",\n \"subdomain\": \"bar\",\n \"value\": \"123456789\"\n})\n\ncdmon.work_on(\"mydomain.com\")\ncdmon.change_record(\"A\", \"www\", \"127.0.0.1\")\ncdmon.change_record(\"A\", \"mailcow\", \"1.2.3.4\")\ncdmon.change_record(\"TXT\", \"@\", \"v=spf1 ...\")\n\ncdmon.work_on(\"xyz.com\")\ncdmon.delete_record(\"TXT\", \"bar\")\n\ncdmon.terminate()\n```\n\nKeep in mind the library uses environment variables to get the login data.\nYou'll need to provide those, creating a `.env` file or by any other means.\n\n```\nUSERNAME=\nPASSWORD=\nTIMEOUT=10\nDEBUG=True\nNETDEBUG=True\n```\n\n* `USERNAME` - The username / email you use to login in cdmon.com\n* `PASSWORD` - The password\n* `TIMEOUT` - Make Selenium timeout after that amount of time (in seconds). Default `10`.\n* `DEBUG` - If set to `True` it will show Chrome's UI. Default `False`.\n* `NETDEBUG` - If set to `True` it will show `urllib` debug to stdout. Default `False`.\n\n## Usage details\n\n### work_on(domain_name)\n\nYou must call this method before doing any other work, in order to let the\nlibrary know on which domain you want to do the work on.\n\n### create_record(record_type, values)\n\n`record_type` - The type of the record you're trying to create. It can be\n\n* `TXT`\n* `SPF`\n* `A`\n* `AAAA`\n* `CNAME`\n* `MX`\n* `SRV`\n* `NS`\n\n`values` - A hash containing specific data for the type of record you're\ntrying to create. Not all records need/use the same (amount of) variables. Use\nthe following list to make sure to use the correct data.\n\n#### TXT / SPF\n\n`redirect_type` - The type of redirect. It can be\n\n* `@` - The entire domain\n* `*` - Undefined subdomains\n* `custom` - A custom subdomain\n\n`subdomain` - The custom subdomain. This argument makes sense only when\n`redirect_type` is set to `custom`.\n\n`value` - The value of the record.\n\nExamples:\n\n* Create a TXT record for the domain itself, with the value `foo bar xyz`\n\n ```python\n cdmon.create_record(\"TXT\", {\n \"redirect_type\": \"@\",\n \"value\": \"foo bar xyz\"\n })\n ```\n\n* Create a TXT record for `test.mydomain.com`, with the value `hi`\n\n ```python\n cdmon.create_record(\"TXT\", {\n \"redirect_type\": \"custom\",\n \"subdomain\": \"test\",\n \"value\": \"hi\"\n })\n ```\n\n#### A / AAAA / CNAME / NS\n\n`redirect_type` - The type of redirect. It can be\n\n* `@` - The entire domain\n* `*` - Undefined subdomains\n* `custom` - A custom subdomain\n\n`subdomain` - The custom subdomain. This argument makes sense only when\n`redirect_type` is set to `custom`.\n\n`destination` - The IP you want to assign to the record. Note that the library won't stop you from trying to assign invalid values.\n\nExamples:\n\n* Create an A record for the domain itself, pointing to `127.0.0.1`\n\n ```python\n cdmon.create_record(\"A\", {\n \"redirect_type\": \"@\",\n \"destination\": \"127.0.0.1\"\n })\n ```\n\n* Create an AAAA record for the domain `test.mydomain.com`, pointing to `127.0.0.1`\n\n ```python\n cdmon.create_record(\"AAAA\", {\n \"redirect_type\": \"custom\",\n \"subdomain\": \"test\",\n \"destination\": \"127.0.0.1\"\n })\n ```\n\n* Create a CNAME record for the domain itself, pointing to `www.mydomain.com`\n\n ```python\n cdmon.create_record(\"CNAME\", {\n \"redirect_type\": \"@\",\n \"destination\": \"www.mydomain.com\"\n })\n ```\n\n* Create an NS record for the domain `test.mydomain.com`, pointing to `mydomain.com`\n\n ```python\n cdmon.create_record(\"NS\", {\n \"redirect_type\": \"custom\",\n \"subdomain\": \"test\",\n \"destination\": \"mydomain.com\"\n })\n ```\n\n#### SRV\n\n`redirect_type` - The type of redirect. It can be\n\n* `@` - The entire domain\n* `*` - Undefined subdomains\n* `custom` - A custom subdomain\n\n`subdomain` - The custom subdomain. This argument makes sense only when\n`redirect_type` is set to `custom`.\n\n`destination` - The destination you want to assign to the record. Note that the library won't stop you from trying to assign invalid values.\n\n`priority` - The priority of the record.\n\n`weight` - The weight of the record.\n\n`port` - The port of the record.\n\nExamples:\n\n* Create a SRV record for the domain itself, pointing to `foobar.com 5 800 22`\n\n ```python\n cdmon.create_record(\"SRV\", {\n \"redirect_type\": \"@\",\n \"destination\": \"foobar.com\"\n \"priority\": \"5\",\n \"weight\": \"800\",\n \"port\": \"22\"\n })\n ```\n\n* Create an SRV record for the domain `mail.mydomain.com`, pointing to `smtp.foo.bar 10 200 465`\n\n ```python\n cdmon.create_record(\"SRV\", {\n \"redirect_type\": \"custom\",\n \"subdomain\": \"mail\",\n \"destination\": \"foobar.com\"\n \"priority\": \"10\",\n \"weight\": \"200\",\n \"port\": \"465\"\n })\n\n#### MX\n\n`subdomain` - The subdomain.\n\n`destination` - The destination you want to assign to the record. Note that the library won't stop you from trying to assign invalid values.\n\n`priority` - The priority of the record.\n\nExample:\n\n* Create an MX record for the domain `mail.mydomain.com`, pointing to `foobar.com 10`\n\n ```python\n cdmon.create_record(\"MX\", {\n \"redirect_type\": \"custom\",\n \"subdomain\": \"mail\",\n \"destination\": \"foobar.com\"\n \"priority\": \"10\"\n })\n\n### change_record(self, record_type, record_name, values)\n\nThis method will let you update the fields of a record. `values` has the same\nrules as the `values` from the `create_record` method.\n\nNote that you can't update the subdomain of the record, only the rest of the\nfields. This is how cdmon.com works.\n\n### delete_record(record_type, record_name)\n\nThis method will let you delete a record. Note that the search is based on\nthe type and the name (subdomain), which means that it's error prone in\nsituation when multiple records of the same type and on the same subdomain\nexist, for example, multiple `TXT` records on the `@` domain.\n\n### terminate()\n\nWill close/quit Chrome.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/develatio/cdmon_automator", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "cdmon-automator", "package_url": "https://pypi.org/project/cdmon-automator/", "platform": "", "project_url": "https://pypi.org/project/cdmon-automator/", "project_urls": { "Homepage": "https://github.com/develatio/cdmon_automator" }, "release_url": "https://pypi.org/project/cdmon-automator/0.0.8/", "requires_dist": [ "selenium (==3.8.0)", "python-decouple", "chromedriver-binary" ], "requires_python": "", "summary": "Library for CRUD operations on cdmon.com", "version": "0.0.8" }, "last_serial": 4371770, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "bb238952a01f1bc62a5e309b597b3558", "sha256": "bc9cd6435933dcbb2d2b489b28675d2bf16433bcfc527100f55e083c13b0d122" }, "downloads": -1, "filename": "cdmon_automator-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bb238952a01f1bc62a5e309b597b3558", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5892, "upload_time": "2018-10-12T16:17:44", "url": "https://files.pythonhosted.org/packages/bb/4f/6810979d629ffc92b70d34a49029555db7de8507faad188f29f43cccd38e/cdmon_automator-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e41fc189b9fe0a338a54d41ec81e2d6", "sha256": "981ef18d30818a657c9140c8553bf106abeb5d24c019b3f14dd1cab9e05dd55d" }, "downloads": -1, "filename": "cdmon_automator-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8e41fc189b9fe0a338a54d41ec81e2d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5219, "upload_time": "2018-10-12T16:17:46", "url": "https://files.pythonhosted.org/packages/e8/71/500d27978d25cba3c4587cd3d0488d13074f0df662826a09b580be05797c/cdmon_automator-0.0.1.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "6167a29c71e8c5a49c75594151e39fea", "sha256": "651e4a3b93df9c8af5cb0226173cce8aa5567582290c33c560b3e6d09c18bd7b" }, "downloads": -1, "filename": "cdmon_automator-0.0.3-py3.7.egg", "has_sig": false, "md5_digest": "6167a29c71e8c5a49c75594151e39fea", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 8624, "upload_time": "2018-10-13T01:42:00", "url": "https://files.pythonhosted.org/packages/2a/43/449b0d1314c60f3d6b505a9fa879a67e5a89229cc086e542c9e3bda646ff/cdmon_automator-0.0.3-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "978776077ba5a59f267c9375ed754f52", "sha256": "8392a62b66385e6d27d6b680c1bd1b14cdd4c7d57f28fd37aa913dd3ec26eb92" }, "downloads": -1, "filename": "cdmon_automator-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "978776077ba5a59f267c9375ed754f52", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5935, "upload_time": "2018-10-12T16:28:06", "url": "https://files.pythonhosted.org/packages/7e/bb/c5dda134e183a7a906b3e46535293f4554e1b86311cb14c3e446433955d8/cdmon_automator-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc2bb29f20973152ccff797ce8f359c8", "sha256": "f8be662ee14cd04dcc7707b82f456f57d3317eb4d76d0799a98b5174c9b8e15c" }, "downloads": -1, "filename": "cdmon_automator-0.0.3.tar.gz", "has_sig": false, "md5_digest": "fc2bb29f20973152ccff797ce8f359c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5250, "upload_time": "2018-10-12T16:28:09", "url": "https://files.pythonhosted.org/packages/d3/39/df7b823f1f3b2c8fc7053c39f24e0f5487623dcdf7011bf5b36df0fdd54c/cdmon_automator-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c10dde1354d330734a4d39e4b10511de", "sha256": "706f649328f0021a53e38f1594ca2cae49a1f14f579a546de40c54fff69f0267" }, "downloads": -1, "filename": "cdmon_automator-0.0.4-py3.7.egg", "has_sig": false, "md5_digest": "c10dde1354d330734a4d39e4b10511de", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 9276, "upload_time": "2018-10-13T10:21:27", "url": "https://files.pythonhosted.org/packages/7a/e2/887dd857fd5317d9592c5785d5a8383ef3538bcf54225a980f981b1ac329/cdmon_automator-0.0.4-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "c3349c62c5cfb7a8adae09619f4d36e3", "sha256": "fadebd88bd0b5c37274f433237243a336c22b35cbffe0d5d9ddcc01e975cc566" }, "downloads": -1, "filename": "cdmon_automator-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c3349c62c5cfb7a8adae09619f4d36e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6050, "upload_time": "2018-10-13T01:41:57", "url": "https://files.pythonhosted.org/packages/74/fd/be26784beca9e517a1219e9160444035c47c069964f9989886ebde8e2af1/cdmon_automator-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41dab897e3a317c216d3b924d0d18c2e", "sha256": "21939d897779e529f532e5f33271e8bd8189ddaa5fd3f872fdb98ba92bf50b77" }, "downloads": -1, "filename": "cdmon_automator-0.0.4.tar.gz", "has_sig": false, "md5_digest": "41dab897e3a317c216d3b924d0d18c2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5363, "upload_time": "2018-10-13T01:42:03", "url": "https://files.pythonhosted.org/packages/f0/e0/7a5be2d226839f23b3383099d72e51769ccfa51a050aa1f3172d5c9e9539/cdmon_automator-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "53640ffbc4e391573150f68b62937e33", "sha256": "99e302bd5e23148bcbb3c242a10c5b4eefa9d2559080f5ebeff8d3ba0639b146" }, "downloads": -1, "filename": "cdmon_automator-0.0.5-py3.7.egg", "has_sig": false, "md5_digest": "53640ffbc4e391573150f68b62937e33", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 9389, "upload_time": "2018-10-13T10:52:59", "url": "https://files.pythonhosted.org/packages/0a/0b/becb7e6d902744c6a747aa678f950abdc0ea2fb0140e5aee784d04b91bd3/cdmon_automator-0.0.5-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "6f118059ca45975dbc51737ce8640106", "sha256": "caf80f3e2d63ef911c62c2086fabe1f633d177a46adb45d63f3cd4608e7e2b61" }, "downloads": -1, "filename": "cdmon_automator-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "6f118059ca45975dbc51737ce8640106", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6283, "upload_time": "2018-10-13T10:21:24", "url": "https://files.pythonhosted.org/packages/2f/9d/d983d108f60e4a450692ab5a2c518e4ee4b6b2613ea57f051e988cc21c0a/cdmon_automator-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "316752d6b953578e87fb420221c94f5d", "sha256": "e57f775379df6268ef43f9efef7a89a5788acb198f7876461d3b2caeb1d06c60" }, "downloads": -1, "filename": "cdmon_automator-0.0.5.tar.gz", "has_sig": false, "md5_digest": "316752d6b953578e87fb420221c94f5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5596, "upload_time": "2018-10-13T10:21:29", "url": "https://files.pythonhosted.org/packages/d6/e9/9888adaea14d551e52f4db21ae45b4e234f795f3dbb5a421a00f83e25952/cdmon_automator-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "ded7c0edda56453861e310a3e39da40a", "sha256": "6523e93af18964c7755769a2b9570b0b9551cb1abab9312c008b6d6c13b45f62" }, "downloads": -1, "filename": "cdmon_automator-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ded7c0edda56453861e310a3e39da40a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6320, "upload_time": "2018-10-13T10:52:53", "url": "https://files.pythonhosted.org/packages/d5/1e/3fce572277199d111533c2f688ea764e9c1a908c4a8ec86ba5c3dc02f472/cdmon_automator-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "285c59807a9e3d4661adb2b405c3efa5", "sha256": "5746e5cf5d78c77b8dbbe9d27fbdf3bf82db5a1f93e4ba0db29df1f18870d4c1" }, "downloads": -1, "filename": "cdmon_automator-0.0.6.tar.gz", "has_sig": false, "md5_digest": "285c59807a9e3d4661adb2b405c3efa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5632, "upload_time": "2018-10-13T10:53:01", "url": "https://files.pythonhosted.org/packages/63/82/a4e3e59fd516d172697360bcb5475a6916807f413f04a658f0c3da5d2871/cdmon_automator-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "c7bf117e1a8e0776cce27ed971fa3efe", "sha256": "58084fab84ad0558bee6387a61ab235e4f0e324a68221f26ea1f154a8795678f" }, "downloads": -1, "filename": "cdmon_automator-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "c7bf117e1a8e0776cce27ed971fa3efe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6329, "upload_time": "2018-10-13T11:41:53", "url": "https://files.pythonhosted.org/packages/20/6e/5cab584949d0c81d3139ea02f4d5cc9ac32e54b0a64b5af2dbf7e378ffa0/cdmon_automator-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25694304fc476fa12dfb19d945056401", "sha256": "bf196c4b36c6d53d1675271ec44a45c1036e4ce518fa24f44ff0d94842dbffc4" }, "downloads": -1, "filename": "cdmon_automator-0.0.7.tar.gz", "has_sig": false, "md5_digest": "25694304fc476fa12dfb19d945056401", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5638, "upload_time": "2018-10-13T11:42:01", "url": "https://files.pythonhosted.org/packages/40/89/8331756985096df0a9202de213e4df172e18efc3d5e8ceccaac6817a73c3/cdmon_automator-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "d3441be70a850cfff30c52b864707375", "sha256": "d23cf710ef17c02b8c8d3d409714bfce1ed9e572a439f03924e9ecbc9bfc291d" }, "downloads": -1, "filename": "cdmon_automator-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "d3441be70a850cfff30c52b864707375", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6366, "upload_time": "2018-10-13T12:17:25", "url": "https://files.pythonhosted.org/packages/65/a0/c1a631b7cc0ec2f9eaa2e591339bf0a7dc88f64a94feb1b2382cd8dc846c/cdmon_automator-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79101da9783fb2a5e1ee77490b1a80e8", "sha256": "664dd6f4a8e72df907154469fca2da79f5444d01ac30b6ed70afb824149272b5" }, "downloads": -1, "filename": "cdmon_automator-0.0.8.tar.gz", "has_sig": false, "md5_digest": "79101da9783fb2a5e1ee77490b1a80e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5666, "upload_time": "2018-10-13T12:17:34", "url": "https://files.pythonhosted.org/packages/44/0a/e339225116f285081287f23652c6870c0a678f5993d22017ba7c18918c85/cdmon_automator-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d3441be70a850cfff30c52b864707375", "sha256": "d23cf710ef17c02b8c8d3d409714bfce1ed9e572a439f03924e9ecbc9bfc291d" }, "downloads": -1, "filename": "cdmon_automator-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "d3441be70a850cfff30c52b864707375", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6366, "upload_time": "2018-10-13T12:17:25", "url": "https://files.pythonhosted.org/packages/65/a0/c1a631b7cc0ec2f9eaa2e591339bf0a7dc88f64a94feb1b2382cd8dc846c/cdmon_automator-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79101da9783fb2a5e1ee77490b1a80e8", "sha256": "664dd6f4a8e72df907154469fca2da79f5444d01ac30b6ed70afb824149272b5" }, "downloads": -1, "filename": "cdmon_automator-0.0.8.tar.gz", "has_sig": false, "md5_digest": "79101da9783fb2a5e1ee77490b1a80e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5666, "upload_time": "2018-10-13T12:17:34", "url": "https://files.pythonhosted.org/packages/44/0a/e339225116f285081287f23652c6870c0a678f5993d22017ba7c18918c85/cdmon_automator-0.0.8.tar.gz" } ] }