{ "info": { "author": "Hiroshi Hagiwara", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# fieldprop\n\n`fieldprop` provides a decorator `@field` like the property.\nA `field` object has `getter`, `setter`, `delete`, `validator`,\n`packer` and `unpacker` methods.\nIt is primary intended to use to define a model class associated with a\ndatabase table.\n\n## Usage\n\nFollowing is a simple example.\n\n```python\nfrom fieldprop import field\nfrom fieldprop.exceptions import ValidationError\n\nclass Foo(object):\n\tdef __init__(self):\n\t\tself._username = None\n\n\t@field('User name')\n\tdef username(self):\n\t\treturn self._username\n\n\t@username.setter\n\tdef username(self, v):\n\t\tself._username = v\n\n\t@username.validator\n\tdef username(self):\n\t\tif self._username is None:\n\t\t\traise ValidationError('User name is required.')\n\n\t@username.packer\n\tdef username(self):\n\t\treturn self._username.encode('utf-8')\n\n\t@username.unpacker\n\tdef username(self, v):\n\t\tself._username = str(v, 'utf-8')\n```\n\n`getter` and `setter` are same as the properity.\nAdditionary, `validator` can be defined to validate the field value.\n\n`packer`/`unpacker` are intended for saving field value to database.\nYou can implement data conversion in `packer`/`unpacker`.\n\n## LICENSE\n\nThis software is released under the MIT license, see LICENSE.\n\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/haghir/fieldprop", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fieldprop", "package_url": "https://pypi.org/project/fieldprop/", "platform": "", "project_url": "https://pypi.org/project/fieldprop/", "project_urls": { "Homepage": "https://github.com/haghir/fieldprop" }, "release_url": "https://pypi.org/project/fieldprop/1.0/", "requires_dist": null, "requires_python": "", "summary": "`fieldprop` provides a decorator `@field` like a property. A `field` object has `getter`, `setter`, `delete`, `validator`, `packer` and `unpacker` methods. It is primary intended to use to define a model class associated with a database table.", "version": "1.0" }, "last_serial": 5105274, "releases": { "0.1a0": [ { "comment_text": "", "digests": { "md5": "90a7695a4065747eb2bb159e0c5bfbce", "sha256": "fb140941b05bdc3b446d77a210b4023455f4dfe2e0c3e0dea1fb54f4fc5a5086" }, "downloads": -1, "filename": "fieldprop-0.1a0-py3-none-any.whl", "has_sig": false, "md5_digest": "90a7695a4065747eb2bb159e0c5bfbce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5504, "upload_time": "2019-02-07T17:22:44", "url": "https://files.pythonhosted.org/packages/02/51/c0c7165b5abe4910ead66ad200e950a12df15efd2d7d690c4d623839e5d0/fieldprop-0.1a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c66da7c1cfdafefeca911f43e7ebe965", "sha256": "f1125e6d0c456652d4d6cfafffbb079172658436d93bebc6927079159e9b0fab" }, "downloads": -1, "filename": "fieldprop-0.1a0.tar.gz", "has_sig": false, "md5_digest": "c66da7c1cfdafefeca911f43e7ebe965", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2754, "upload_time": "2019-02-07T17:22:46", "url": "https://files.pythonhosted.org/packages/8b/a8/194fb430eb33aee3d3ddb13c2565fdadf061867d0bf22df5751f53459336/fieldprop-0.1a0.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "8b8c39cd64ce7b44b7cae2b1c1719b79", "sha256": "ed134efd6162322a1c6c6f1c1ef1dd6e5ec02965b85a94099b9afe239ecb2a25" }, "downloads": -1, "filename": "fieldprop-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8b8c39cd64ce7b44b7cae2b1c1719b79", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5870, "upload_time": "2019-04-05T19:12:59", "url": "https://files.pythonhosted.org/packages/2d/fb/f9951e18ba57f3054f4b0060df3ba2c1e656b6a8dc4a43000975dc1fab64/fieldprop-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75ebe4ec06f5dce30587746b4fc4f61b", "sha256": "e621686b56031857f667c61f6784377e0fe344f6f04c4c6d1a0de2e2f6b18efd" }, "downloads": -1, "filename": "fieldprop-1.0.tar.gz", "has_sig": false, "md5_digest": "75ebe4ec06f5dce30587746b4fc4f61b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3252, "upload_time": "2019-04-05T19:13:01", "url": "https://files.pythonhosted.org/packages/09/73/9ee39df32e1eb6c3276d052d8ccd30d86486364cf6e787cab4f7e79b3b36/fieldprop-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8b8c39cd64ce7b44b7cae2b1c1719b79", "sha256": "ed134efd6162322a1c6c6f1c1ef1dd6e5ec02965b85a94099b9afe239ecb2a25" }, "downloads": -1, "filename": "fieldprop-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8b8c39cd64ce7b44b7cae2b1c1719b79", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5870, "upload_time": "2019-04-05T19:12:59", "url": "https://files.pythonhosted.org/packages/2d/fb/f9951e18ba57f3054f4b0060df3ba2c1e656b6a8dc4a43000975dc1fab64/fieldprop-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75ebe4ec06f5dce30587746b4fc4f61b", "sha256": "e621686b56031857f667c61f6784377e0fe344f6f04c4c6d1a0de2e2f6b18efd" }, "downloads": -1, "filename": "fieldprop-1.0.tar.gz", "has_sig": false, "md5_digest": "75ebe4ec06f5dce30587746b4fc4f61b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3252, "upload_time": "2019-04-05T19:13:01", "url": "https://files.pythonhosted.org/packages/09/73/9ee39df32e1eb6c3276d052d8ccd30d86486364cf6e787cab4f7e79b3b36/fieldprop-1.0.tar.gz" } ] }