On Wed, Apr 22, 2009 at 8:00 PM, Martin <[email protected]> wrote:
>
> Hi all,
> I started using web.py for programming web services and, although I'm
> quite happy with the framework, I couldn't find an out-of-the-box
> solution for what I was looking for. More specifically, I wanted to
> select the appropriate representation for the service's resources in a
> RESTful way, i.e. using the HTTP Accept header.
> I didn't like this:
>
> render_html = web.template.render('templates/html')
> render_xml = web.template.render('templates/xml')
> render_json = lambda **args: json.dumps(args)
>
> class hello:
>    def GET(self, name):
>        if not name: name = 'world'
>        message = 'Hello, %s!'%name
>        accept_string = web.ctx.env['HTTP_ACCEPT']
>        mime = find_best_supported_mime(accept_string)
>        if mime=='application/html':
>            return render_html.hello(message)
>        elif mime=='application/xml':
>            return render_xml.hello(message)
>        elif mime=='application/json':
>            return render_json(message)
>        else:
>            raise web.internalerror('no representation for "%s"'%mime)
>
> So I made it like this:
>
>   �[email protected](
>        html = render_html.hello,
>        xml  = render_xml.hello,
>        json = render_json)
>    def GET(self, name):
>        if not name: name = 'world'
>        message = 'Hello, %s!'%name
>        return {'message': message}
>
> I've made the library open-source and posted it at 
> http://code.google.com/p/mimerender
> Hope someone finds it useful, and I'll gladly receive all comments and
> criticisms.

Really useful, thanks for sharing your work!

> Best,
>
> Martín
> >
>



-- 
Arnaldo M Pereira

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web.py" 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/webpy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to