Metadata-Version: 2.0
Name: webapp2-restful
Version: 0.1.1
Summary: A Request parsing interface designed to provide simple and uniform access to any variable on the webapp2.Request object in Webapp2
Home-page: https://github.com/ekampf/webapp2_restful
Author: Eran Kampf
Author-email: eran@ekampf.com
License: BSD
Keywords: webapp2_restful
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Requires-Dist: webapp2 (==2.5.2)
Requires-Dist: webob (==1.2.3)
Requires-Dist: jsonschema (==2.3.0)
Requires-Dist: inflection (==0.3.1)

===============================
WebApp2 RequestParser
===============================

.. image:: https://travis-ci.org/ekampf/webapp2_restful.svg
        :target: https://travis-ci.org/ekampf/webapp2_restful

.. image:: https://coveralls.io/repos/ekampf/webapp2_restful/badge.svg?branch=master&service=github
  :target: https://coveralls.io/github/ekampf/webapp2_restful?branch=master

.. image:: https://img.shields.io/pypi/v/webapp2_restful.svg
        :target: https://pypi.python.org/pypi/webapp2_restful


The *webapp2_restful* library is a Request parsing interface inspired by `restful-flask's request parser  <http://flask-restful.readthedocs.org/en/latest/reqparse.html>`_.

Its interface is modeled after the `argparse <http://docs.python.org/dev/library/argparse.html>`_ interface.

Its goal is to provide a uniform access to any variable on the webapp2.Request object and allowing handlers to provide a sort of "contract" where they
specify the parameters they expect to be called with - making code easier to read and understand.

* Free software: BSD license
* Documentation: https://webapp2_restful.readthedocs.org.

Basic Argument Parsing
----------------------

Here’s a simple example of the request parser.
It looks for two arguments in the webapp2.Request's *json* and *params* properties: one of type int, and the other of type str:

.. code::

    from webapp2_restful.parser import RequestParser

    parser = RequestParser()
    parser.add_argument('rate', type=int, help='Rate cannot be converted')
    parser.add_argument('name', type=str)
    args = parser.parse_args(self.request)


Special Google AppEngine Arguments
----------------------------------

.. code::

    from webapp2_restful.parser import RequestParser
    from webapp2_restful.arguments_ndb import EntityIDArgument

    parser = RequestParser()
    parser.add_argument('store_id', type=EntityIDArgument(Store), dest='store')
    args = parser.parse_args(self.request)

    # args.store is a Store instance
    print(args.store)




History
-------

0.1.0 (2015-01-11)
---------------------

* First release on PyPI.


