{ "info": { "author": "David Krauth", "author_email": "dakrauth@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "choice_enum\n===========\n\nWrapper class for defining DRY, encapsulated choice options for CharFields.\n\nChoiceEnumeration\n-----------------\n\n``ChoiceEnumeration`` class can be declared at the module or class level in \nthe following format::\n\n class ChoiceClass(ChoiceEnumeration):\n ATTR1 = ChoiceEnumeration.Option('db_value1', 'Human readable text 1')\n ATTR2 = ChoiceEnumeration.Option('db_value2', 'Human readable text 2')\n\nThe following attributes are generated on the ChoiceEnumeration child class:\n\n- ``ALL_OPTIONS`` - a tuple of the supplied options\n- ``CHOICES`` - a Django char field choices-compatible tuple\n- ``CHOICES_DICT`` - a dictionary of option:text values\n- ``DEFAULT`` - (optional) the item marked as default\n\nA typical Django example would look like::\n\n class SomeModel(models.Model):\n class MetaVar(ChoiceEnumeration):\n FOO = ChoiceEnumeration.Option('foo', 'Foo Choice', default=True)\n BAR = ChoiceEnumeration.Option('bar', 'Bar Option')\n BAZ = ChoiceEnumeration.Option('baz', 'Baz Pick')\n SPAM = ChoiceEnumeration.Option('spam', 'Spam spam spam')\n EGGS = ChoiceEnumeration.Option('eggs', 'Eggs, Spam, and Ham')\n\nExample interactive usage::\n >>> class MetaVar(ChoiceEnumeration):\n ... FOO = ChoiceEnumeration.Option('foo', 'Foo Choice', default=True)\n ... BAR = ChoiceEnumeration.Option('bar', 'Bar Option')\n ... BAZ = ChoiceEnumeration.Option('baz', 'Baz Pick')\n ... SPAM = ChoiceEnumeration.Option('spam', 'Spam spam spam')\n ... EGGS = ChoiceEnumeration.Option('eggs', 'Eggs, Spam, and Ham')\n >>> MetaVar.FOO\n u'foo'\n >>> MetaVar.ALL_OPTIONS\n (u'foo', u'bar', u'baz', u'spam', u'eggs')\n >>> MetaVar.CHOICES\n ((u'foo', 'Foo Choice'), (u'bar', 'Bar Option'), (u'baz', 'Baz Pick'), (u'spam', 'Spam spam spam'), (u'eggs', 'Eggs, Spam, and Ham'))\n >>> MetaVar.CHOICES_DICT\n {u'baz': 'Baz Pick', u'eggs': 'Eggs, Spam, and Ham', u'foo': 'Foo Choice', u'bar': 'Bar Option', u'spam': 'Spam spam spam'}\n >>> MetaVar.DEFAULT\n u'foo'\n >>> MetaVar.CHOICES_DICT[MetaVar.FOO]\n 'Foo Choice'\n \nmake_enum_class\n---------------\n\n``make_enum_class`` dynamically generates a ``ChoiceEnumeration`` derived class.\n\nExample::\n\n from choice_enum import make_enum_class, Option\n MetaVar = make_enum_class('MetaVar',\n FOO=Option('foo', 'Foo Choice', default=True),\n BAR=Option('bar', 'Bar Option'),\n BAZ=Option('baz', 'Baz Pick')\n )", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dakrauth/choice_enum", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "choice_enum", "package_url": "https://pypi.org/project/choice_enum/", "platform": "any", "project_url": "https://pypi.org/project/choice_enum/", "project_urls": { "Homepage": "https://github.com/dakrauth/choice_enum" }, "release_url": "https://pypi.org/project/choice_enum/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Wrapper class for defining DRY, encapsulated choice options for CharFields.", "version": "1.0.0" }, "last_serial": 4165689, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "f2e956201ce47a13c999fb39f79607df", "sha256": "7e80ee5890f8e3c008a4d7dd6bed3a5f0db4f47d6d7f2822c4441ba4ed7abc72" }, "downloads": -1, "filename": "choice_enum-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f2e956201ce47a13c999fb39f79607df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3724, "upload_time": "2015-01-15T22:37:50", "url": "https://files.pythonhosted.org/packages/67/b8/72a1f4c58a95e02e8f7ad7611930e0e035c3bb3638f56c8d5511f0822a5f/choice_enum-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "dbc30ece807d5ac3a86c29372ef52778", "sha256": "7802a4348ac9c674517b2b8771b46da9dfe6a748056dba9cb1a57e0efd9807b7" }, "downloads": -1, "filename": "choice_enum-0.3.tar.gz", "has_sig": false, "md5_digest": "dbc30ece807d5ac3a86c29372ef52778", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3838, "upload_time": "2016-03-24T19:56:32", "url": "https://files.pythonhosted.org/packages/19/ba/ded2ae24503a0094c27783f670938f649a114a382f6d23f96a35913f3de7/choice_enum-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "1f14169d92fea81c123692dadc48e1d3", "sha256": "4c3a4623e1dee4d649daa39eeedb3fca8ed62d9dc318b5aa9a33301d7208e954" }, "downloads": -1, "filename": "choice_enum-0.3.1.tar.gz", "has_sig": false, "md5_digest": "1f14169d92fea81c123692dadc48e1d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3801, "upload_time": "2016-12-04T16:03:24", "url": "https://files.pythonhosted.org/packages/b4/84/0dfd117316c8f3c9ba18383b6d08a2bbc3f4a74da96b98251e2b321fb815/choice_enum-0.3.1.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "097cc79d05c31f80c87d2521d5d56092", "sha256": "031aef70a7474a506ac810035de50c625329a95f41ed8f74e821ab137b7730ea" }, "downloads": -1, "filename": "choice_enum-0.9.tar.gz", "has_sig": false, "md5_digest": "097cc79d05c31f80c87d2521d5d56092", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3779, "upload_time": "2016-12-27T21:21:16", "url": "https://files.pythonhosted.org/packages/59/03/63303c74aa70dfd73854be2346d591b75ec168f100820da095d45e27b7d3/choice_enum-0.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "d939a9c20106cbbc2f9f6ef15735f44c", "sha256": "03d832fccb9b1ff2d770c3cf67553f6904d30b7645210e84609ea21c99d8b724" }, "downloads": -1, "filename": "choice_enum-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d939a9c20106cbbc2f9f6ef15735f44c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3753, "upload_time": "2018-08-13T14:52:26", "url": "https://files.pythonhosted.org/packages/53/55/d69359665df9a5d8412aa53ed1962a3763e3bad56f586dc6cd6c777b2290/choice_enum-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d939a9c20106cbbc2f9f6ef15735f44c", "sha256": "03d832fccb9b1ff2d770c3cf67553f6904d30b7645210e84609ea21c99d8b724" }, "downloads": -1, "filename": "choice_enum-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d939a9c20106cbbc2f9f6ef15735f44c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3753, "upload_time": "2018-08-13T14:52:26", "url": "https://files.pythonhosted.org/packages/53/55/d69359665df9a5d8412aa53ed1962a3763e3bad56f586dc6cd6c777b2290/choice_enum-1.0.0.tar.gz" } ] }