{ "info": { "author": "Mingcai SHEN", "author_email": "archsh@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Express Extension for Tornado\n======================\n\n**A RESTful extension for tornado.**\n\n*Note: It's under very basic development now, every thing can be changed in the next commit.*\n\nFeatures\n----------------------\n1. XXX\n1. XXXX\n1. XXXX\n1. XXXX\n1. XXXX\n\nQuick Start\n----------------------\n\n\t# -*- coding: utf-8 -*-\n\tfrom torexpress.application import ExpressApplication\n\tfrom torexpress.handler import ExpressHandler\n\tfrom sqlalchemy.ext.declarative import declarative_base\n\tfrom sqlalchemy import Column, Integer, String, Sequence, MetaData, ForeignKey\n\tfrom sqlalchemy.orm import relationship, backref\n\tfrom sqlalchemy.orm.query import Query\n\n\tBase = declarative_base()\n\n\tclass User(Base):\n\t __tablename__ = 'users'\n\t id = Column(Integer, Sequence('user_id_seq'), primary_key=True)\n\t name = Column(String(50), nullable=False, unique=True)\n\t fullname = Column(String(50), nullable=True)\n\t password = Column(String(40), nullable=True)\n\t\n\tclass UserHandler(ExpressHandler):\n\t \"\"\"UserHandler to process User table.\"\"\"\n\t\n\t class Meta:\n\t table = User\n\t\n\t @encoder('password')\n\t def password_encoder(self, passwd, inst=None):\n\t import hashlib\n\t return hashlib.new('md5', passwd).hexdigest()\n\n\tif __name__ == \"__main__\":\n\t import tornado.ioloop\n\t application = ExpressApplication([UserHandler.route_to('/users'), ],\n\t dburi='sqlite:///:memory:', loglevel='DEBUG', debug=True)\n\t Base.metadata.create_all(application.db_engine)\n\t application.listen(8888)\n\t tornado.ioloop.IOLoop.instance().start()\n\n\nRequirements\n----------------------\n\n- Tornado >= 3.1.1\n- SQLAlchemy >= 0.8\n- Simplejson\n- PyYAML", "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/archsh/tornado-torexpress", "keywords": null, "license": "Public domain", "maintainer": null, "maintainer_email": null, "name": "tornado-torexpress", "package_url": "https://pypi.org/project/tornado-torexpress/", "platform": "any", "project_url": "https://pypi.org/project/tornado-torexpress/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/archsh/tornado-torexpress" }, "release_url": "https://pypi.org/project/tornado-torexpress/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "A RESTful extention on Tornado. Mingcai SHEN ", "version": "0.1.5" }, "last_serial": 1033310, "releases": { "0.1.5": [ { "comment_text": "", "digests": { "md5": "8747d0c5f144343c54064d5f261ff962", "sha256": "aef47c03a16e703b2942e5a0aac147f86fd6cd3079097884b6f9e4a7f18a3e90" }, "downloads": -1, "filename": "tornado-torexpress-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8747d0c5f144343c54064d5f261ff962", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19772, "upload_time": "2014-03-18T08:34:00", "url": "https://files.pythonhosted.org/packages/63/86/e2675bb69c9ca24db795a4a5eba3886cc74d0690716b736f55f989e19d13/tornado-torexpress-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8747d0c5f144343c54064d5f261ff962", "sha256": "aef47c03a16e703b2942e5a0aac147f86fd6cd3079097884b6f9e4a7f18a3e90" }, "downloads": -1, "filename": "tornado-torexpress-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8747d0c5f144343c54064d5f261ff962", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19772, "upload_time": "2014-03-18T08:34:00", "url": "https://files.pythonhosted.org/packages/63/86/e2675bb69c9ca24db795a4a5eba3886cc74d0690716b736f55f989e19d13/tornado-torexpress-0.1.5.tar.gz" } ] }