Actually I just found that Django does something extremely similar: http://docs.djangobrasil.org/ref/templates/builtins.html#pluralize
We should probably have the simpler forms too. Andy On Sat, Jun 6, 2009 at 12:19 AM, Andy Chu<[email protected]> wrote: > I checked in a formatter that may help: > > http://code.google.com/p/json-template/source/detail?r=274 > > See the unit test for how to use it. Hopefully it isn't too obscure. > If people understand the formatter concept, then the syntax should be > clear -- otherwise it may look a bit funny. > > Andy > > > > On Wed, Jun 3, 2009 at 5:58 PM, Andy Chu<[email protected]> wrote: >> Yeah, that is a hole: >> >> http://groups.google.com/group/json-template/browse_thread/thread/1b3016093d7291d7/0471532731b74a7a?lnk=gst&q=predicates#0471532731b74a7a >> >> No one gave any feedback, but I knew that someone would run into this, as I >> did. >> >> Generally, JSON Template avoids putting logic in templates. But >> actually this distinction is too coarse -- we should avoid putting >> *application* logic in templates, but whether to display "people" or >> "person" is *not* application logic. It's logic caused by English >> grammar basically. :) >> >> So that does belong in the template. You shouldn't have strings like >> "people/person" in your native Python/whatever code. >> >> I think you could write a wrapper for your dictionary to include a >> boolean for pluralness. That is, you would pass in a field name where >> you care about its plurality, and then it could decorate the data >> dictionary with a boolean too. Then use that boolean in your template >> as a section. I think this will work, although I haven't tried it >> yet. >> >> python/jsontemplate/datadict.py does something like this. >> >> If that works for you let me know. I would consider adding the >> predicates, or maybe there is an even better solution. The predicate >> scheme is nice though because it avoids adding any expressions to the >> language (no hacky ifequal, ifnotequal, iflessthan stuff). There will >> just be a library of canned predicates, which are user-customizable, >> like there's a library of formatters. >> >> Andy >> >> >> >> >> On Wed, Jun 3, 2009 at 2:10 PM, Sasha <[email protected]> wrote: >>> >>> I started playing around with json-template and am generally impressed >>> by how simple it is. The one thing I'm stuck on is how/whether to add >>> new language constructs or formatters. I'd like to write as little non- >>> template code as possibly, but when porting over some old code there >>> is a bunch of things I need to do that aren't natively supported. >>> >>> As an example, I'd like to have branching sections based on whether a >>> list contains one element or several. I guess I could write this as a >>> formatter, but falling back to native code seems a bit hacky. Or maybe >>> I'm should try to change up the underlying code. What's the >>> recommended approach? >>> >>> (basic idea) >>> {.repeated section pictures one} >>> (some stuff for single case) >>> {.or repeated section pictures} >>> (some stuff for plural case) >>> {.end} >>> >>> >>> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JSON Template" 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/json-template?hl=en -~----------~----~----~----~------~----~------~--~---
