{ "info": { "author": "Amir Mohsen Asaran", "author_email": "admin@mihanmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Build Tools" ], "description": "Github\n======\n\nhttps://github.com/amirasaran/request_validator\n\nrequest\\_validator\n==================\n\nPython Request(json) Validator\n\nhow to install\n==============\n\n::\n\n pip install request_validator\n\nHow to use\n==========\n\n| Imaging you have a json response that get from rest api server and you\n| must validate response.\n\n**sample:**\n\n::\n\n from request_validator.serializers import *\n from request_validator.fields import *\n\n\n class GlossDefSerializer(BaseSerializer):\n para = CharField()\n gloss_see_also = CharField(many=True, source=\"GlossSeeAlso\")\n\n\n class GlossEntrySerializer(BaseSerializer):\n id = IntField(source=\"ID\")\n sort_as = CharField(source=\"SortAs\")\n gloss_term = CharField(source=\"GlossTerm\")\n acronym = CharField(source=\"Acronym\")\n abbrev = CharField(source=\"Abbrev\", required=True, allow_blank=False)\n gloss_def = GlossDefSerializer(source=\"GlossDef\")\n gloss_see = CharField(source=\"GlossSee\")\n\n\n class GlossListSerializer(BaseSerializer):\n gloss_entry = GlossEntrySerializer(source=\"GlossEntry\")\n\n\n class GlossDivSerializer(BaseSerializer):\n title = CharField()\n gloss_list = GlossListSerializer(source=\"GlossList\")\n\n\n class GlossarySerializer(BaseSerializer):\n title = CharField()\n gloss_div = GlossDivSerializer(source=\"GlossDiv\")\n\n\n class SampleSerializer(BaseSerializer):\n glossary = GlossarySerializer()\n\n\n sample_data = {\n \"glossary\": {\n \"title\": \"example glossary\",\n \"GlossDiv\": {\n \"title\": \"S\",\n \"GlossList\": {\n \"GlossEntry\": {\n \"ID\": 12,\n \"SortAs\": \"SGML\",\n \"GlossTerm\": \"Standard Generalized Markup Language\",\n \"Acronym\": \"SGML\",\n \"Abbrev\": \"\",\n \"GlossDef\": {\n \"para\": \"A meta-markup language, used to create markup languages such as DocBook.\",\n \"GlossSeeAlso\": [\"GML\", \"XML\"]\n },\n \"GlossSee\": \"markup\"\n }\n }\n }\n }\n }\n\n\n validator = SampleSerializer(data=sample_data)\n print('validation status:')\n print(validator.is_valid())\n print(\"\\nvalidation errors:\")\n print(validator.get_errors())\n print(\"\\nvalidated data:\")\n print(validator.validate_data())\n\n**The above sample output:**\n\n::\n\n validation status:\n False\n\n validation errors:\n {'glossary': {'gloss_div': {'gloss_list': {'gloss_entry': {'abbrev': ['This field cannot be blank']}}}}}\n\n validated data:\n {'glossary': {'title': 'example glossary', 'gloss_div': {'title': 'S', 'gloss_list': {'gloss_entry': {'acronym': 'SGML', 'gloss_term': 'Standard Generalized Markup Language', 'gloss_def': {'gloss_see_also': ['GML', 'XML'], 'para': 'A meta-markup language, used to create markup languages such as DocBook.'}, 'gloss_see': 'markup', 'sort_as': 'SGML', 'id': 12}}}}}", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/amirasaran/request_validator", "keywords": "request validator", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "request-validator", "package_url": "https://pypi.org/project/request-validator/", "platform": "", "project_url": "https://pypi.org/project/request-validator/", "project_urls": { "Homepage": "https://github.com/amirasaran/request_validator" }, "release_url": "https://pypi.org/project/request-validator/2.0.5/", "requires_dist": null, "requires_python": "", "summary": "Python request validator", "version": "2.0.5" }, "last_serial": 3493232, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "cdd5b6edbe2da3e31087e86c2084972a", "sha256": "f59d0c8f1bd542cbc43b69010583dea07f04f9a00a9da00e3604c7f4232dc8ad" }, "downloads": -1, "filename": "request-validator-1.0.2.tar.gz", "has_sig": false, "md5_digest": "cdd5b6edbe2da3e31087e86c2084972a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4716, "upload_time": "2017-04-04T08:01:32", "url": "https://files.pythonhosted.org/packages/1a/67/53e64414d9c5358406e991b113da168eb8c90f02c79c6f5e8b473466ead8/request-validator-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "eb970e8bc2f04c6d69564e89d1cd20e8", "sha256": "2d87eaecbaf421a07cce3910dedd35f8c245343313fc40e9bf5a50ecbdd42560" }, "downloads": -1, "filename": "request-validator-1.1.0.tar.gz", "has_sig": false, "md5_digest": "eb970e8bc2f04c6d69564e89d1cd20e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5000, "upload_time": "2017-04-04T10:28:26", "url": "https://files.pythonhosted.org/packages/6c/52/d0a966ae58ce9a700ef26161f1e022ce770cc37f9e10784f4668be67df62/request-validator-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "228213605ef3bbf83fa67154bd7041a2", "sha256": "6cd766b2780747710842329d39df62ca726c61e4a3f36b7bc0a80066c43c639d" }, "downloads": -1, "filename": "request-validator-1.2.0.tar.gz", "has_sig": false, "md5_digest": "228213605ef3bbf83fa67154bd7041a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5179, "upload_time": "2017-04-04T11:24:42", "url": "https://files.pythonhosted.org/packages/ae/24/a68a3a9378e16350b5a0c8b68bc7e68ddfc71cc6804cdd375fffe36445c7/request-validator-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "5c07b67ea721c3a5f679afd33cd2b6cc", "sha256": "875c303b4087e16e45f75daba2ff3053d1019d150a0c9b3c25bee67d911b88ef" }, "downloads": -1, "filename": "request-validator-1.3.0.tar.gz", "has_sig": false, "md5_digest": "5c07b67ea721c3a5f679afd33cd2b6cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5545, "upload_time": "2017-04-06T06:06:47", "url": "https://files.pythonhosted.org/packages/0f/5b/04db1924b8ee18af312b4300160c7620cf7764186304c19f37aaefc04618/request-validator-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "7fb88a2d2ce9d867bad3bbc0e25d8fd9", "sha256": "8e7dae440eb92851e885b755e879177c5e5f6faf7bb8fee0df9652c87aac088e" }, "downloads": -1, "filename": "request-validator-1.3.1.tar.gz", "has_sig": false, "md5_digest": "7fb88a2d2ce9d867bad3bbc0e25d8fd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5558, "upload_time": "2017-04-06T07:44:17", "url": "https://files.pythonhosted.org/packages/e4/83/65861aa38bcceda389af60ae976411b8a1ea9b08703ba733662c7c29cc8a/request-validator-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "b8d8822161a3f1e0ad0a46d4322a5220", "sha256": "f099963d05f256d0a7471a246840279c76b105b796e5cbeae697bc90b6d46584" }, "downloads": -1, "filename": "request-validator-1.3.2.tar.gz", "has_sig": false, "md5_digest": "b8d8822161a3f1e0ad0a46d4322a5220", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5933, "upload_time": "2017-04-08T07:43:57", "url": "https://files.pythonhosted.org/packages/87/14/3ffcb6c2baa0ef94deb0bfd7f9e93fc569234e6c8055415ff0a669e19094/request-validator-1.3.2.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "d6aa6d0c25d18f24cd219d409d6ef3b1", "sha256": "b6c5ae2f895643b5e66f44e106405648b4a8b3e08260dfe3123ce91e51fc2d11" }, "downloads": -1, "filename": "request-validator-1.4.0.tar.gz", "has_sig": false, "md5_digest": "d6aa6d0c25d18f24cd219d409d6ef3b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6060, "upload_time": "2017-04-09T10:44:03", "url": "https://files.pythonhosted.org/packages/8a/f1/4b7d0053a0fef6afac492e0b1d48ad16d855903baecf30af1c8fe107dbc6/request-validator-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "f07f9f9644e3c6b5a18e7fbfdd319ae2", "sha256": "51885387e3857baaa7237c40d0295566999b2785b881b2f0485cfb3730dadaf4" }, "downloads": -1, "filename": "request-validator-1.4.1.tar.gz", "has_sig": false, "md5_digest": "f07f9f9644e3c6b5a18e7fbfdd319ae2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6061, "upload_time": "2017-04-09T11:26:27", "url": "https://files.pythonhosted.org/packages/18/79/f33b745506ac324dcf0d348b455b67e143566242f25d569cd9ad3a6119d7/request-validator-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "917d913fc6d5cc6f3c91c59f88d5ab3e", "sha256": "b3c4c66f04347a0d229d7ed20ec54468d4f097081d2d1b8492dcf4e0bc565c83" }, "downloads": -1, "filename": "request-validator-1.4.2.tar.gz", "has_sig": false, "md5_digest": "917d913fc6d5cc6f3c91c59f88d5ab3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6069, "upload_time": "2017-04-12T11:59:48", "url": "https://files.pythonhosted.org/packages/e8/99/144920bc906a6372938cd855228fedbbe3f4fbb14048c7bf474fa4f3a5e1/request-validator-1.4.2.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "522c6bf007bbc47ff2ace3b282ccf043", "sha256": "f649c6458962e8eeb8fc0c1aab2f7cde12ff2d0ed55ee25943fd85a30e99537b" }, "downloads": -1, "filename": "request-validator-1.5.0.tar.gz", "has_sig": false, "md5_digest": "522c6bf007bbc47ff2ace3b282ccf043", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6472, "upload_time": "2017-04-18T07:05:15", "url": "https://files.pythonhosted.org/packages/03/f7/a1ddfc605f44fab1f69ed747323b30e4d45a63a855d05660519396f514a2/request-validator-1.5.0.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "be2b06d9be0c24a7db0a5569ba8769e4", "sha256": "922cdc1e5b8f6bcd3585ca16afd06b3d872a92126a8c3a0723c0f083df2f1274" }, "downloads": -1, "filename": "request-validator-1.6.0.tar.gz", "has_sig": false, "md5_digest": "be2b06d9be0c24a7db0a5569ba8769e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6447, "upload_time": "2017-07-15T11:16:43", "url": "https://files.pythonhosted.org/packages/34/d7/69aa21f2482b01b99288ac71f5650f2d01188683e3ce1eaf82af4d518885/request-validator-1.6.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "fd793e46c62d2e73502dde8053e60824", "sha256": "69130b8940fdc40d237f3402408215889906c80f956c34b939cab3c417fd143d" }, "downloads": -1, "filename": "request-validator-2.0.0.tar.gz", "has_sig": false, "md5_digest": "fd793e46c62d2e73502dde8053e60824", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6451, "upload_time": "2017-07-19T07:24:58", "url": "https://files.pythonhosted.org/packages/a4/90/ce8313a05048ebb7ff1b421dc158beeccf50780882336d4a564ca4dc86fc/request-validator-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "04cf5bcd3c8c5d5302180990bf800ebe", "sha256": "70bac13bf7e40d631e11986b9ef23ab5c3740894619bd067f6ba66dfb9fc67f5" }, "downloads": -1, "filename": "request-validator-2.0.1.tar.gz", "has_sig": false, "md5_digest": "04cf5bcd3c8c5d5302180990bf800ebe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6454, "upload_time": "2017-11-05T14:30:51", "url": "https://files.pythonhosted.org/packages/93/b3/42517f1dddc7a7c928ee5fd634e8e39daad9888f72ebcb3047a85290077d/request-validator-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "f84e1c76017f3f5aeabc5646052c9209", "sha256": "ae8a3cf864b8b217d9c0f9115d9165e9368e1fe4fa8b4e304e60fa8870b1633c" }, "downloads": -1, "filename": "request-validator-2.0.2.tar.gz", "has_sig": false, "md5_digest": "f84e1c76017f3f5aeabc5646052c9209", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6467, "upload_time": "2017-11-28T10:22:45", "url": "https://files.pythonhosted.org/packages/89/1e/19e6afcde074925890a499703b32bbd8734431622065b3f730112fcf0ea4/request-validator-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "91ab61cf14416d995786196549ac8be4", "sha256": "dd9b51439c6867772b7fe47d4af117e052b22037bbeba7d6fdb48f175d1b2943" }, "downloads": -1, "filename": "request-validator-2.0.3.tar.gz", "has_sig": false, "md5_digest": "91ab61cf14416d995786196549ac8be4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6584, "upload_time": "2017-11-29T10:52:40", "url": "https://files.pythonhosted.org/packages/94/65/4d7cde7e117ec3d14bc6e0c3dbb930dbf815a136587b01442ad19ecc1b5f/request-validator-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "1382bc65aebf3ed5e17292096ad783f1", "sha256": "9e137ffbd1669d4ba0a348cae11a6eb83c3c13c5e69e2bf4b3bdab82320eca13" }, "downloads": -1, "filename": "request-validator-2.0.4.tar.gz", "has_sig": false, "md5_digest": "1382bc65aebf3ed5e17292096ad783f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6617, "upload_time": "2017-12-12T14:22:29", "url": "https://files.pythonhosted.org/packages/9f/7c/bcbf10fe096ca1a900cd7f08e2d73cc3909a0df38c196beb7c1ef1f42ec8/request-validator-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "a77787116c9901c220fc78da7ff0ae90", "sha256": "48531ba894a0baa5e9c499f5143b54474e1f21016d1cf07e1fcc012fde770aa8" }, "downloads": -1, "filename": "request-validator-2.0.5.tar.gz", "has_sig": false, "md5_digest": "a77787116c9901c220fc78da7ff0ae90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6628, "upload_time": "2018-01-16T08:50:51", "url": "https://files.pythonhosted.org/packages/2f/d8/8bf4ab5b16e58b3ddbca85771e00fa827dc4662f3a0bf358e782d7c4aab8/request-validator-2.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a77787116c9901c220fc78da7ff0ae90", "sha256": "48531ba894a0baa5e9c499f5143b54474e1f21016d1cf07e1fcc012fde770aa8" }, "downloads": -1, "filename": "request-validator-2.0.5.tar.gz", "has_sig": false, "md5_digest": "a77787116c9901c220fc78da7ff0ae90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6628, "upload_time": "2018-01-16T08:50:51", "url": "https://files.pythonhosted.org/packages/2f/d8/8bf4ab5b16e58b3ddbca85771e00fa827dc4662f3a0bf358e782d7c4aab8/request-validator-2.0.5.tar.gz" } ] }