I changed the regular expression in gluon/languages.py as below, and
"update all languages" now updates the strings in T() and Tx() :-)

PY_STRING_LITERAL_RE = r'(?<=[^\w]T)x?\((?P<name>'\
     + r"[uU]?[rR]?(?:'''(?:[^']|'{1,2}(?!'))*''')|"\
     + r"(?:'(?:[^'\\]|\\.)*')|" + r'(?:"""(?:[^"]|"{1,2}(?!"))
*""")|'\
     + r'(?:"(?:[^"\\]|\\.)*"))'

To follow naming convention in web2py, would it be better called TX()
instead of Tx()?

--
Teru


On 6月6日, 午前11:17, suiato <homm...@gmail.com> wrote:
> On 6月5日, 午後9:59, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > in principle yes. what error do you get?
>
> Adding the line
> Tx=lambda *a: XML(str(T(*a))
> to store.py in the model of eStore doesn't cause any errors.
> In fact, it seems to be working in Shell.
>
> After a good sleep, I realize findT() is made to look for T(), not Tx
> ()... isn't it?
> If so, the regular expression in languages.py in gluon needs to be
> changed to find Tx() as well as T().
> I'm not familiar with regular expression, and will appreciate some
> advice. The pattern (in ver.1.63.2) is
>
> # pattern to find T(bla bla bla) expressions
> PY_STRING_LITERAL_RE = r'(?<=[^\w]T\()(?P<name>'\
>      + r"[uU]?[rR]?(?:'''(?:[^']|'{1,2}(?!'))*''')|"\
>      + r"(?:'(?:[^'\\]|\\.)*')|" + r'(?:"""(?:[^"]|"{1,2}(?!"))
> *""")|'\
>      + r'(?:"(?:[^"\\]|\\.)*"))'
> regex_translate = re.compile(PY_STRING_LITERAL_RE, re.DOTALL)
>
> By the way, in epydoc(http://mdp.cti.depaul.edu/examples/static/
> epydoc/), it's
> regex_translate = re.compile(r'(?s)(?<=[^\w]T\()(?P<name>[uU]?[rR]?(?:
> \'\'\'(?:[^\']|\'{\1,2}(?!\'))*\'\'\')|(?:\'(?:[^\'\\]|\\.)*\')|
> (?:"""(?:[^"]|"{1,2}(?!")\)*""")|(?:"(?:[^"\\]|\\.)*"))')
>
> --
> Teru
>
>
>
> > On Jun 4, 10:08 pm, suiato <homm...@gmail.com> wrote:
>
> > > On 6月5日, 午前1:47, JorgeR <jorgeh...@gmail.com> wrote:
>
> > > > cool
>
> > > > this should go in the wiki under 'tips and tricks'
>
> > > Oh, inhttps://mdp.cti.depaul.edu/wiki/?
> > > Actually, it'd be nice to have a topic on translation/i18n/l10n.
>
> > > > On Jun 3, 11:08 pm, suiato <homm...@gmail.com> wrote:
>
> > > > > 2009/06/04 12:57 mdipierro <mdipie...@cs.depaul.edu>:
>
> > > > > > In model you can just do
>
> > > > > > Tx=lambda *a: XML(str(T(*a))
>
> > > > > > and use Tx instead.
>
> > > In my current effort to translate eStore, XML(T()) for links works
> > > well and I'm happily using it.
>
> > > I still need to work on making the above lambda function work.
> > > Do I just add the line into the model store.py? My first try was not
> > > successful.
>
> > > --
> > > Teru
>
> > > > > This is a good learning experience for me. Lots of thanks, Massimo.
>
> > > > > By the way, XML(T()) seems to work when I tested with an example.
>
> > > > > Cheers,
> > > > > Teru
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to