thanks for looking at this. I'm a little concerned with this solution.
It only lets you pass args to formatters, but not have first-class
sections.

A good example would be somewhere that you want to have different
texts for singular versus plural. For instance, a common web time
pattern.

< 1 hour - 'About an hour ago"
> 1 hour - "{n} hours ago"

The predicate approach on the other hand, look pretty cool.

On Jun 5, 11:24 pm, Andy Chu <[email protected]> wrote:
> 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/1b3...
>
> >> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to