Skip to main content

API and directive converting object to ``dict``.

Project description

https://travis-ci.org/rebeccaframework/rebecca.todict.png?branch=master

rebecca.todict

rebecca.todict is API and directive converting object to dict.

INSTALL

Install using pip or easy_install.:

$ pip install rebecca.todict
$ easy_install rebecca.todict

USAGE

rebecca.todict privides includeme hook that will set up set_todict directive.:

config.include('rebecca.todict')

using with paste deploy:

pyramid.includes = rebecca.todict

register todict adapter

by directive

To register todict adapter, you can use set_todict directive.:

config.set_todict(Person, person_to_dict)

That register todict adapter converging Person object to dict.

You can register named adapter too:

config.set_todict(Person, person_to_dict_short, name="short")

by todict_decorator

todict_decorator register todict Adapter casually.:

@todict_config(Person)
def person_to_dict(request, person):
    return dict(....)

using todict API

Registered adapters are used by todict API:

from rebecca.todict import todict

d = todict(request, person)
d = todict(request, person, name="short")

JSON Renderer using todict API

rebecca.todict.renderers.json_renderer_factory is factory of renderer using todict API.

to use this renderer, register renderer factory:

config.add_renderer('.json', 'rebecca.todict.renderers.json_renderer_factory')

specify “.json” renderer on view_config or add_view:

@view_config(renderer="short.json")
def person_list(request):
    return dict(people=[Person(), Person()])

the renderer use todict Adapters named “short”.

Contributors

  • Atsushi Odagiri, Original Author
  • Yusuke Muraoka

Changelog

0.5 (2013-09-22)

  • fix content type using json renderer #1

0.4 (2013-08-31)

  • fix conflict multi todict registration for the same name and different type

0.3 (2013-08-31)

  • fix conflict multi todict registration

0.2 (2013-03-02)

  • add json renderer using todict API
  • todict_config decorator

0.1 (2013-02-16)

first commit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
rebecca.todict-0.5-py2.py3-none-any.whl (5.9 kB) Copy SHA256 hash SHA256 Wheel 2.7 Sep 22, 2013
rebecca.todict-0.5.zip (8.4 kB) Copy SHA256 hash SHA256 Source None Sep 22, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page