{ "info": { "author": "David Zuwenden", "author_email": "dhain@zognot.org", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "============\n Decorouter\n============\n\nDecorouter is a WSGI routing apparatus that makes it easy to define routes\nusing decorator syntax.\n\nExample::\n\n from decorouter import Router\n\n class MyApplication:\n router = Router()\n\n @router.add('/$')\n def index(self, environ, start_response):\n start_response('200 OK', [('Content-type', 'text/plain')])\n return ['Hello, world!']\n\n @router.add('/hello/([^/]+)$')\n def index(self, environ, start_response):\n args, kwargs = environ['wsgiorg.routing_args']\n (name,) = args\n start_response('200 OK', [('Content-type', 'text/plain')])\n return ['Hello, %s!' % (name,)]\n\n def __call__(self, environ, start_response):\n return self.router(environ, start_response)\n\n if __name__ == '__main__':\n from wsgiref.simple_server import make_server\n make_server('', 8000, MyApplication()).serve_forever()", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dhain/decorouter", "keywords": "wsgi route", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "decorouter", "package_url": "https://pypi.org/project/decorouter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/decorouter/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/dhain/decorouter" }, "release_url": "https://pypi.org/project/decorouter/0.0.2/", "requires_dist": null, "requires_python": null, "summary": "A WSGI routing apparatus.", "version": "0.0.2" }, "last_serial": 788876, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "38b9cfedd50c5870ac929e946d95dd9f", "sha256": "d65a3220195c30d768e97f1c79b3970517fe7b4bb8ca36e86b28c455bdaa4a39" }, "downloads": -1, "filename": "decorouter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "38b9cfedd50c5870ac929e946d95dd9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3238, "upload_time": "2011-08-13T18:03:01", "url": "https://files.pythonhosted.org/packages/c9/c1/d67f1a75fb9054fa45f437bc4550d36185e1d54d56cffbc45f963bf4c635/decorouter-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "55269db194361a756655f9019417c03c", "sha256": "318f77aedc3b04db3e9868c9d20195e8728650eaac27621b3ebb1d9d452067dd" }, "downloads": -1, "filename": "decorouter-0.0.2.tar.gz", "has_sig": false, "md5_digest": "55269db194361a756655f9019417c03c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3423, "upload_time": "2011-11-02T21:55:01", "url": "https://files.pythonhosted.org/packages/97/ee/40430afdb21012965bd197b3c7ec95444e8ebb84ebb9a4af516596028506/decorouter-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "55269db194361a756655f9019417c03c", "sha256": "318f77aedc3b04db3e9868c9d20195e8728650eaac27621b3ebb1d9d452067dd" }, "downloads": -1, "filename": "decorouter-0.0.2.tar.gz", "has_sig": false, "md5_digest": "55269db194361a756655f9019417c03c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3423, "upload_time": "2011-11-02T21:55:01", "url": "https://files.pythonhosted.org/packages/97/ee/40430afdb21012965bd197b3c7ec95444e8ebb84ebb9a4af516596028506/decorouter-0.0.2.tar.gz" } ] }