{ "info": { "author": "Adam Schubert", "author_email": "adam.schubert@sg1-game.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development" ], "description": "# Cron Descriptor\n\nMaster: [![Master Build Status](https://api.travis-ci.org/Salamek/cron-descriptor.svg?branch=master)](https://travis-ci.org/Salamek/cron-descriptor) All: [![Build Status](https://api.travis-ci.org/Salamek/cron-descriptor.svg)](https://travis-ci.org/Salamek/cron-descriptor)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=D8LQ4XTBLV3C4&lc=CZ&item_number=Salamekcron-descriptor¤cy_code=EUR)\n\nA Python library that converts cron expressions into human readable strings. Ported to Python from https://github.com/bradyholt/cron-expression-descriptor.\n\n**Author**: Adam Schubert (https://www.salamek.cz) \n**Original Author & Credit**: Brady Holt (http://www.geekytidbits.com) \n**License**: [MIT](http://opensource.org/licenses/MIT)\n\n## Features \n * Supports all cron expression special characters including * / , - ? L W, #\n * Supports 5, 6 (w/ seconds or year), or 7 (w/ seconds and year) part cron expressions\n * Provides casing options (Sentence, Title, Lower, etc.)\n * Localization with support for 14 languages\n * Supports Python 2.7 - 3.7\n\n## Installation\nUsing PIP\n```bash\npip install cron-descriptor\n```\n\n## Usage example\n\n```python\n# Simple\nfrom cron_descriptor import get_description, ExpressionDescriptor\n\nprint(get_description(\"* 2 3 * *\"))\n\n#OR\n\nprint(str(ExpressionDescriptor(\"* 2 3 * *\")))\n```\n\n```python\n# Advanced\n# Consult Options.py/CasingTypeEnum.py/DescriptionTypeEnum.py for more info\nfrom cron_descriptor import Options, CasingTypeEnum, DescriptionTypeEnum, ExpressionDescriptor\n\ndescripter = ExpressionDescriptor(\"*/10 * * * *\", throw_exception_on_parse_error = True, casing_type = CasingTypeEnum.Sentence, use_24hour_time_format = True)\n# GetDescription uses DescriptionTypeEnum.FULL by default:\nprint(descripter.get_description())\nprint(\"{}\".format(descripter))\n\n#or passing Options class as second argument:\n\noptions = Options()\noptions.throw_exception_on_parse_error = True\noptions.casing_type = CasingTypeEnum.Sentence\noptions.use_24hour_time_format = True\ndescripter = ExpressionDescriptor(\"*/10 * * * *\", options)\nprint(descripter.get_description(DescriptionTypeEnum.FULL))\n\n```\n\n## Languages Available\n\n|Language| locale_code | contributor |\n|--------|-------------|-------------|\n|English |en|[Brady Holt](https://github.com/bradyholt)|\n|Brazilian |pt_PT|[Renato Lima](https://github.com/natenho)|\n|Chinese Simplified | zh_CN |[Star Peng](https://github.com/starpeng)|\n|Spanish |es_ES|[Ivan Santos](https://github.com/ivansg)|\n|Norwegian |nb_NO|[Siarhei Khalipski](https://github.com/KhalipskiSiarhei)|\n|Turkish |tr_TR|[Mustafa SADED\u0130L](https://github.com/sadedil)|\n|Dutch |nl_NL|[TotalMace](https://github.com/TotalMace)|\n|Russian |ru_RU|[LbISS](https://github.com/LbISS)|\n|French |fr_FR|[Arnaud TAMAILLON](https://github.com/Greybird)|\n|German |de_DE|[Michael Schuler](https://github.com/mschuler)|\n|Ukrainian |uk_UA|[Taras](https://github.com/tbudurovych)|\n|Italian |it_IT|[rinaldihno](https://github.com/rinaldihno)|\n|Czech |cs_CZ|[Adam Schubert](https://github.com/salamek)|\n|Swedish |sv_SE|[\u00c5ke Engelbrektson](https://github.com/eson57)|\n\n\n\n## Original Source\n - .NET - [https://github.com/bradyholt/cron-expression-descriptor](https://github.com/bradyholt/cron-expression-descriptor)\n\n## Ports\n - Java - [https://github.com/RedHogs/cron-parser](https://github.com/RedHogs/cron-parser)\n - Ruby - [https://github.com/alpinweis/cronex](https://github.com/alpinweis/cronex)\n\n## Running Unit Tests\n\n```bash\npython setup.py test\n```\n\n## Translating\ncron-descriptor is using [Gettext](https://www.gnu.org/software/gettext/) for translations.\n\n> To create new translation or edit existing one, i suggest using [Poedit](https://poedit.net/).\n\nYou can copy/rename and translate any file from `locale` directory:\n```bash\ncp ./cron_descriptor/locale/de_DE.po ./cron_descriptor/locale/YOUR_LOCALE_CODE.po\npoedit ./cron_descriptor/locale/YOUR_LOCALE_CODE.po\n```\nor you can generate new untranslated *.po file from sources by running in `cron_descriptor` directory:\n```bash\ncd cron_descriptor\nxgettext *.py -o locale/YOUR_LOCALE_CODE.po\n```\n\nGenerating *.mo file from *.po file. In root directory run command:\n```bash\nmsgfmt -o cron_descriptor/locale/YOUR_LOCALE_CODE.mo cron_descriptor/locale/YOUR_LOCALE_CODE.po\n```\n\n## Developing\n\nAll suggescions and PR's are welcomed\n\nJust clone this repository and register pre-commit hook by running:\n\n```bash\nln -s ../../pre-commit.sh .git/hooks/pre-commit\n```\n\nThen install dev requirements:\n\n```bash\npip install pep8\npip install flake8\npip install pep8-naming\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/Salamek/cron-descriptor", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "cron-descriptor", "package_url": "https://pypi.org/project/cron-descriptor/", "platform": "", "project_url": "https://pypi.org/project/cron-descriptor/", "project_urls": { "Homepage": "https://github.com/Salamek/cron-descriptor" }, "release_url": "https://pypi.org/project/cron-descriptor/1.2.24/", "requires_dist": null, "requires_python": "", "summary": "A Python library that converts cron expressions into human readable strings.", "version": "1.2.24" }, "last_serial": 5842040, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "4526e4b8634346c78857ad5bfafb54cf", "sha256": "14d1011830bea147f17397f5f544ff694768d8488c2a221a21e4e9d66e773907" }, "downloads": -1, "filename": "cron_descriptor-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4526e4b8634346c78857ad5bfafb54cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25733, "upload_time": "2016-01-19T02:54:07", "url": "https://files.pythonhosted.org/packages/1d/a0/017a7d23207ded01529d5dd6004281d7b1bd1705ffce15bd36d2a3c34afe/cron_descriptor-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e3f9a31396c42329179fd54e27c991a9", "sha256": "9cd04bc710929b77455b0fdccfa313a6ec1f862bcb0d23c558779caa6f0c950a" }, "downloads": -1, "filename": "cron_descriptor-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e3f9a31396c42329179fd54e27c991a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27691, "upload_time": "2016-01-19T17:12:21", "url": "https://files.pythonhosted.org/packages/ea/d6/cbc45b062f4c2ecde67a62985f58060141d5d3c9a8f5eace0c55795bdede/cron_descriptor-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "38d37404cf01a45da544c61b8f0a5169", "sha256": "852f5bdee6cb758ec718625da42b39dc3bb1c421719d4c664a5dca6e092b7535" }, "downloads": -1, "filename": "cron_descriptor-1.2.0.tar.gz", "has_sig": false, "md5_digest": "38d37404cf01a45da544c61b8f0a5169", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27815, "upload_time": "2016-01-19T21:27:01", "url": "https://files.pythonhosted.org/packages/36/96/ec98f8577b789ad6e59922baa40ec103ba3371534518927aeae2d52a1546/cron_descriptor-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "5a28884f17b690170d326d6106e6bebb", "sha256": "fa8ed5e55af39680e9e73f11b8876e4ae979ea84af5ab31e1a9a1996b722e394" }, "downloads": -1, "filename": "cron_descriptor-1.2.1.tar.gz", "has_sig": false, "md5_digest": "5a28884f17b690170d326d6106e6bebb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28407, "upload_time": "2016-01-20T17:57:57", "url": "https://files.pythonhosted.org/packages/84/5d/0a557e442a47c15ce7c41625299bb8c48bbdac5390fcd002d2c96ede5371/cron_descriptor-1.2.1.tar.gz" } ], "1.2.10": [ { "comment_text": "", "digests": { "md5": "b84cc79f427dfa747c8fac9769eb008b", "sha256": "ff4c1e0c8181b900cb08d3f17d997a14b8f074288bf105b590feb66c352e014a" }, "downloads": -1, "filename": "cron_descriptor-1.2.10.tar.gz", "has_sig": false, "md5_digest": "b84cc79f427dfa747c8fac9769eb008b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25443, "upload_time": "2017-08-01T08:53:32", "url": "https://files.pythonhosted.org/packages/cc/83/a0d602f7c06712c5411b9ded9ffed1fbef1dc75a7759c950960857d45914/cron_descriptor-1.2.10.tar.gz" } ], "1.2.16": [ { "comment_text": "", "digests": { "md5": "1d368f2de6b84bc0aa74decf86f097bc", "sha256": "892e93fd15d611c49e0f5e66154728945806bf2e60c6a3de3b1744c01867174a" }, "downloads": -1, "filename": "cron_descriptor-1.2.16.tar.gz", "has_sig": false, "md5_digest": "1d368f2de6b84bc0aa74decf86f097bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27031, "upload_time": "2018-07-23T19:21:46", "url": "https://files.pythonhosted.org/packages/8d/23/1093b2a9af98a9e21106851e257d94b7d08cf0d96a88f9a97e1063e8fcb3/cron_descriptor-1.2.16.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "d2a1328be9941ea920d60eb76fa25adb", "sha256": "ca215f54d48f422a24f1bbee7409a8f2a202a482bb2b6ed123ada37138df1bc2" }, "downloads": -1, "filename": "cron_descriptor-1.2.2.tar.gz", "has_sig": false, "md5_digest": "d2a1328be9941ea920d60eb76fa25adb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28366, "upload_time": "2016-02-04T03:28:29", "url": "https://files.pythonhosted.org/packages/7f/88/e54c52b59f40db93e143d73e52e877a1ca11bfaa9f61e36e46f5b6957967/cron_descriptor-1.2.2.tar.gz" } ], "1.2.20": [ { "comment_text": "", "digests": { "md5": "d1f95d5ef25d528388cc29f6bfd5fe9a", "sha256": "006c3261ff9c1402dd56ea605b2019907be48705a10d46cd592d27ef49f08ef3" }, "downloads": -1, "filename": "cron_descriptor-1.2.20-py3-none-any.whl", "has_sig": false, "md5_digest": "d1f95d5ef25d528388cc29f6bfd5fe9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46270, "upload_time": "2018-08-23T17:38:09", "url": "https://files.pythonhosted.org/packages/9b/30/7585971e16c7b160e19e470d9da26defbcfefa89102918e810c5f1e8ed8c/cron_descriptor-1.2.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8c319435ba2280a2b3a1aa79e9bb1a2", "sha256": "0967d1db99fc1126f2e2520ecfdc20befc618a24debeb3ec0fbea49efb892270" }, "downloads": -1, "filename": "cron_descriptor-1.2.20.tar.gz", "has_sig": false, "md5_digest": "b8c319435ba2280a2b3a1aa79e9bb1a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25762, "upload_time": "2018-08-23T17:38:10", "url": "https://files.pythonhosted.org/packages/6f/a7/729675996196c8a6b242207fb3c5f904d67dd8a4c520d7d72425b0ba1eff/cron_descriptor-1.2.20.tar.gz" } ], "1.2.21": [ { "comment_text": "", "digests": { "md5": "b54068963ea91146e04a180ffae707b1", "sha256": "0f6444521f31f2d84100c5f5fd574b30d03b0bf90185775eb8412b13eb9f890c" }, "downloads": -1, "filename": "cron_descriptor-1.2.21.tar.gz", "has_sig": false, "md5_digest": "b54068963ea91146e04a180ffae707b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22252, "upload_time": "2018-10-08T21:27:39", "url": "https://files.pythonhosted.org/packages/84/2d/94448f5fe97b5cc5741430db2cc98a051d53d6273ab8271ae4dc6c05a588/cron_descriptor-1.2.21.tar.gz" } ], "1.2.24": [ { "comment_text": "", "digests": { "md5": "190bb403eca4b2a8bec3f2e4f66bd3ec", "sha256": "b0d4d1637d7f26e322c0fb4018aea6028b5ba5ea2e8c228231e2870cbfcef2c0" }, "downloads": -1, "filename": "cron_descriptor-1.2.24.tar.gz", "has_sig": false, "md5_digest": "190bb403eca4b2a8bec3f2e4f66bd3ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22411, "upload_time": "2019-09-17T14:34:20", "url": "https://files.pythonhosted.org/packages/f3/72/98f0d54f4988696b0941e9086405405ab2565e7e81d8905c67c276df960f/cron_descriptor-1.2.24.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "1e8ff90e55bea00d1b1c7ef228885f48", "sha256": "770c166dd571151fe4263ecf838a9a5f4207d6d652d6e0b17df4d50b3dd11a18" }, "downloads": -1, "filename": "cron_descriptor-1.2.3.tar.gz", "has_sig": false, "md5_digest": "1e8ff90e55bea00d1b1c7ef228885f48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30192, "upload_time": "2016-02-14T19:08:58", "url": "https://files.pythonhosted.org/packages/62/a9/7cc2a725b541d8020c9c969f495abd7ef641d333dcc333259726fb88dc3d/cron_descriptor-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "e86b79c754de3bee9edea013c9a2faf4", "sha256": "988b87d884a26fca8437169640008189a0cdafa6a758dc5285e32a7830d8f60c" }, "downloads": -1, "filename": "cron_descriptor-1.2.4.tar.gz", "has_sig": false, "md5_digest": "e86b79c754de3bee9edea013c9a2faf4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30114, "upload_time": "2016-02-14T20:08:16", "url": "https://files.pythonhosted.org/packages/5a/d4/8f6203d1585159aaca2dfed3a26d6d56f1cddc850a07dd536d4377de0fe0/cron_descriptor-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "e197b18f576055064e92934eccd4c750", "sha256": "50aedeefae5a26e945bbe53337c106aa1870d220a5c02558de60c4d71c655046" }, "downloads": -1, "filename": "cron_descriptor-1.2.5.tar.gz", "has_sig": false, "md5_digest": "e197b18f576055064e92934eccd4c750", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30303, "upload_time": "2016-05-18T15:13:56", "url": "https://files.pythonhosted.org/packages/71/15/904ae31a5dbc2fb01eb04bebb61cddbb01fcdfd235e3c0ff4864cfd01b93/cron_descriptor-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "82df417fe7f2c8af1987cfe96cbc213b", "sha256": "26c34e154f5629a39384d1221cd53ba3172193e6c675cdb6a7e608ee6ac362f9" }, "downloads": -1, "filename": "cron_descriptor-1.2.6.tar.gz", "has_sig": false, "md5_digest": "82df417fe7f2c8af1987cfe96cbc213b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25054, "upload_time": "2016-09-07T11:04:13", "url": "https://files.pythonhosted.org/packages/e4/31/d888767001f468966573460c1e5f6158c6ca3baac06671e7fdb2d7bb8e87/cron_descriptor-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "3dadb39e45fb301bbf831cc004c92e2b", "sha256": "5772e19105636187b2911ee9cfc4ac7758088b7df09a7e13b977182272c03eb4" }, "downloads": -1, "filename": "cron_descriptor-1.2.7.tar.gz", "has_sig": false, "md5_digest": "3dadb39e45fb301bbf831cc004c92e2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24431, "upload_time": "2017-01-25T21:46:22", "url": "https://files.pythonhosted.org/packages/0a/4a/4e433f067f622f45289b77c119bccfac42ca3ceb46ba096ab30eadef789d/cron_descriptor-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "08aa0fa9a72b3beb298ee3fcc9bc5a17", "sha256": "3bae2cf3badd5d8803a5ea12526ab51b2d92600a88c5a08a31c966a167b36072" }, "downloads": -1, "filename": "cron_descriptor-1.2.8.tar.gz", "has_sig": false, "md5_digest": "08aa0fa9a72b3beb298ee3fcc9bc5a17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24451, "upload_time": "2017-02-09T20:55:00", "url": "https://files.pythonhosted.org/packages/21/44/6661a84684b3aec840fa15e75901b5dc19d6f2361c64377ece751e0ed045/cron_descriptor-1.2.8.tar.gz" } ], "1.2.9": [ { "comment_text": "", "digests": { "md5": "3d00ca59bea8efb46883ea63d9d6c77a", "sha256": "c06925c91140582ff25d388bf423e2c074944442e6a3f61c04e90df38148f3e2" }, "downloads": -1, "filename": "cron_descriptor-1.2.9.tar.gz", "has_sig": false, "md5_digest": "3d00ca59bea8efb46883ea63d9d6c77a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25358, "upload_time": "2017-07-07T17:01:29", "url": "https://files.pythonhosted.org/packages/ad/0a/cd6850ebda45946e1c20acdb9b1432694bef81407d0c92f7e2d16b6de355/cron_descriptor-1.2.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "190bb403eca4b2a8bec3f2e4f66bd3ec", "sha256": "b0d4d1637d7f26e322c0fb4018aea6028b5ba5ea2e8c228231e2870cbfcef2c0" }, "downloads": -1, "filename": "cron_descriptor-1.2.24.tar.gz", "has_sig": false, "md5_digest": "190bb403eca4b2a8bec3f2e4f66bd3ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22411, "upload_time": "2019-09-17T14:34:20", "url": "https://files.pythonhosted.org/packages/f3/72/98f0d54f4988696b0941e9086405405ab2565e7e81d8905c67c276df960f/cron_descriptor-1.2.24.tar.gz" } ] }