Show More
@@ -44,6 +44,7 b' import webob' | |||
|
44 | 44 | import routes.util |
|
45 | 45 | |
|
46 | 46 | import rhodecode |
|
47 | from rhodecode.translation import _, _pluralize | |
|
47 | 48 | |
|
48 | 49 | |
|
49 | 50 | def md5(s): |
@@ -380,7 +381,6 b' def age(prevdate, now=None, show_short_v' | |||
|
380 | 381 | :rtype: unicode |
|
381 | 382 | :returns: unicode words describing age |
|
382 | 383 | """ |
|
383 | from pylons.i18n.translation import _, ungettext | |
|
384 | 384 | |
|
385 | 385 | def _get_relative_delta(now, prevdate): |
|
386 | 386 | base = dateutil.relativedelta.relativedelta(now, prevdate) |
@@ -460,12 +460,12 b' def age(prevdate, now=None, show_short_v' | |||
|
460 | 460 | } |
|
461 | 461 | else: |
|
462 | 462 | fmt_funcs = { |
|
463 |
'year': lambda d: |
|
|
464 |
'month': lambda d: |
|
|
465 |
'day': lambda d: |
|
|
466 |
'hour': lambda d: |
|
|
467 |
'minute': lambda d: |
|
|
468 |
'second': lambda d: |
|
|
463 | 'year': lambda d: _pluralize(u'${num} year', u'${num} years', d, mapping={'num': d}).interpolate(), | |
|
464 | 'month': lambda d: _pluralize(u'${num} month', u'${num} months', d, mapping={'num': d}).interpolate(), | |
|
465 | 'day': lambda d: _pluralize(u'${num} day', u'${num} days', d, mapping={'num': d}).interpolate(), | |
|
466 | 'hour': lambda d: _pluralize(u'${num} hour', u'${num} hours', d, mapping={'num': d}).interpolate(), | |
|
467 | 'minute': lambda d: _pluralize(u'${num} minute', u'${num} minutes', d, mapping={'num': d}).interpolate(), | |
|
468 | 'second': lambda d: _pluralize(u'${num} second', u'${num} seconds', d, mapping={'num': d}).interpolate(), | |
|
469 | 469 | } |
|
470 | 470 | |
|
471 | 471 | i = 0 |
@@ -483,33 +483,34 b' def age(prevdate, now=None, show_short_v' | |||
|
483 | 483 | _val = fmt_funcs[part](value) |
|
484 | 484 | if future: |
|
485 | 485 | if show_suffix: |
|
486 |
return _(u'in |
|
|
486 | return _(u'in ${ago}', mapping={'ago': _val}) | |
|
487 | 487 | else: |
|
488 | return _val | |
|
488 | return _(_val) | |
|
489 | 489 | |
|
490 | 490 | else: |
|
491 | 491 | if show_suffix: |
|
492 |
return _(u' |
|
|
492 | return _(u'${ago} ago', mapping={'ago': _val}) | |
|
493 | 493 | else: |
|
494 | return _val | |
|
494 | return _(_val) | |
|
495 | 495 | |
|
496 | 496 | val = fmt_funcs[part](value) |
|
497 | 497 | val_detail = fmt_funcs[sub_part](sub_value) |
|
498 | mapping = {'val': val, 'detail': val_detail} | |
|
498 | 499 | |
|
499 | 500 | if short_format: |
|
500 |
datetime_tmpl = u' |
|
|
501 | datetime_tmpl = _(u'${val}, ${detail}', mapping=mapping) | |
|
501 | 502 | if show_suffix: |
|
502 |
datetime_tmpl = _(u' |
|
|
503 | datetime_tmpl = _(u'${val}, ${detail} ago', mapping=mapping) | |
|
503 | 504 | if future: |
|
504 |
datetime_tmpl = _(u'in |
|
|
505 | datetime_tmpl = _(u'in ${val}, ${detail}', mapping=mapping) | |
|
505 | 506 | else: |
|
506 |
datetime_tmpl = _(u' |
|
|
507 | datetime_tmpl = _(u'${val} and ${detail}', mapping=mapping) | |
|
507 | 508 | if show_suffix: |
|
508 |
datetime_tmpl = _(u' |
|
|
509 | datetime_tmpl = _(u'${val} and ${detail} ago', mapping=mapping) | |
|
509 | 510 | if future: |
|
510 |
datetime_tmpl = _(u'in |
|
|
511 | datetime_tmpl = _(u'in ${val} and ${detail}', mapping=mapping) | |
|
511 | 512 | |
|
512 |
return datetime_tmpl |
|
|
513 | return datetime_tmpl | |
|
513 | 514 | i += 1 |
|
514 | 515 | return _(u'just now') |
|
515 | 516 |
@@ -145,7 +145,12 b' def test_age(age_args, expected, kw, pyl' | |||
|
145 | 145 | from dateutil import relativedelta |
|
146 | 146 | n = datetime.datetime(year=2012, month=5, day=17) |
|
147 | 147 | delt = lambda *args, **kwargs: relativedelta.relativedelta(*args, **kwargs) |
|
148 | assert age(n + delt(**age_args), now=n, **kw) == expected | |
|
148 | ||
|
149 | def translate(elem): | |
|
150 | return elem.interpolate() | |
|
151 | ||
|
152 | assert translate(age(n + delt(**age_args), now=n, **kw)) == expected | |
|
153 | ||
|
149 | 154 | |
|
150 | 155 | @pytest.mark.parametrize("age_args, expected, kw", [ |
|
151 | 156 | ({}, u'just now', {}), |
@@ -172,7 +177,11 b' def test_age_in_future(age_args, expecte' | |||
|
172 | 177 | from dateutil import relativedelta |
|
173 | 178 | n = datetime.datetime(year=2012, month=5, day=17) |
|
174 | 179 | delt = lambda *args, **kwargs: relativedelta.relativedelta(*args, **kwargs) |
|
175 | assert age(n + delt(**age_args), now=n, **kw) == expected | |
|
180 | ||
|
181 | def translate(elem): | |
|
182 | return elem.interpolate() | |
|
183 | ||
|
184 | assert translate(age(n + delt(**age_args), now=n, **kw)) == expected | |
|
176 | 185 | |
|
177 | 186 | |
|
178 | 187 | def test_tag_exctrator(): |
@@ -34,3 +34,10 b' class LazyString(object):' | |||
|
34 | 34 | def lazy_ugettext(*args, **kw): |
|
35 | 35 | """ Lazily evaluated version of _() """ |
|
36 | 36 | return LazyString(*args, **kw) |
|
37 | ||
|
38 | ||
|
39 | def _pluralize(msgid1, msgid2, n, mapping=None): | |
|
40 | if n == 1: | |
|
41 | return _(msgid1, mapping=mapping) | |
|
42 | else: | |
|
43 | return _(msgid2, mapping=mapping) |
General Comments 0
You need to be logged in to leave comments.
Login now