I ended up hacking pylons/decorators/__init__.py to modify jsonify to
accept an optional parameter.  Now I can put @jsonify
(model.encode_elixir_entry) in my controller.  I realize this will
break compatibility with @jsonify being used today, so may not be
appropriate for pylons, but it gets me moving forward for now...
better suggestions still appreciated, as I said im learning.

On May 7, 3:47 pm, wesb5c <[email protected]> wrote:
> First off I am brand new to python, pylons, elixir, sqlalchemy, etc so
> please go easy on me.  I am looking to turn some data from an Elixir
> model into json.  If I pull the data with:
>
> data = model.Item.query.all()
>
> and attempt to jsonify:
>
> simplejson.dumps(data)
>
> I get the TypeError: <Item> is not JSON serializable
>
> which I can work around with:
>
> def encode_elixir_entity(obj):
>      if isinstance(obj, elixir.entity.Entity):
>          return obj.to_dict()
>      raise TypeError(repr(o) + " is not JSON serializable")
>
> then:
>
> simplejson.dumps(data,default=encode_elixir_entity)
>
> works as expected.  So, now with my limited python/pylons knowledge, I
> am ultimately trying to make use of the above in a pylons controller.
>
> Since the @jsonify decorator takes no arguments im assuming there is
> no way for me to specify the default=encode_elixir_entity option, is
> that correct?
>
> I think I can I hack the pylons.decorator code to meet my purposes,
> but I am trying to do things "the right way".  Is there another
> alternative someone can suggest or point me in the right direction?
>
> Thanks in advance.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to