Edgewall Software

Ticket #2182: trac-i18n-datetime.patch

File trac-i18n-datetime.patch, 15.0 KB (added by iizukanao <s03048ni@…>, 6 years ago)

Modified trac-patch-2182.diff for use with trac-0.9.6

  • trac/Search.py

    diff -urN trac-0.9.6.orig/trac/Search.py trac-0.9.6/trac/Search.py
    old new  
    186186            req.hdf['search.result'] = [ 
    187187                { 'href': result[0], 
    188188                  'title': result[1], 
    189                   'date': format_datetime(result[2]), 
     189                  'date': format_datetime(result[2], self.env.config.get('i18n', 'datetime_format')), 
    190190                  'author': result[3], 
    191191                  'excerpt': result[4] 
    192192                } for result in results] 
  • trac/Timeline.py

    diff -urN trac-0.9.6.orig/trac/Timeline.py trac-0.9.6/trac/Timeline.py
    old new  
    9696        t = time.localtime() 
    9797        if req.args.has_key('from'): 
    9898            try: 
    99                 t = time.strptime(req.args.get('from'), '%x') 
     99                t = time.strptime(req.args.get('from'), self.env.config.get('i18n', 'date_format')) 
    100100            except: 
    101101                pass 
    102102 
     
    105105            daysback = max(0, int(req.args.get('daysback', ''))) 
    106106        except ValueError: 
    107107            daysback = int(self.config.get('timeline', 'default_daysback')) 
    108         req.hdf['timeline.from'] = format_date(fromdate) 
     108        req.hdf['timeline.from'] = format_date(fromdate, self.env.config.get('i18n', 'date_format')) 
    109109        req.hdf['timeline.daysback'] = daysback 
    110110 
    111111        available_filters = [] 
     
    154154        for kind, href, title, date, author, message in events: 
    155155            event = {'kind': kind, 'title': title, 'href': href, 
    156156                     'author': author or 'anonymous', 
    157                      'date': format_date(date), 
     157                     'date': format_date(date, self.env.config.get('i18n', 'date_format')), 
    158158                     'time': format_time(date, '%H:%M'), 
    159159                     'message': message} 
    160160 
  • trac/attachment.py

    diff -urN trac-0.9.6.orig/trac/attachment.py trac-0.9.6/trac/attachment.py
    old new  
    200200        'author': attachment.author, 
    201201        'ipnr': attachment.ipnr, 
    202202        'size': util.pretty_size(attachment.size), 
    203         'time': util.format_datetime(attachment.time), 
     203        'time': util.format_datetime(attachment.time, env.config.get('i18n', 'datetime_format')), 
    204204        'href': attachment.href() 
    205205    } 
    206206    return hdf 
  • trac/db_default.py

    diff -urN trac-0.9.6.orig/trac/db_default.py trac-0.9.6/trac/db_default.py
    old new  
    435435  ('timeline', 'ticket_show_details', 'false'), 
    436436  ('browser', 'hide_properties', 'svk:merge'), 
    437437  ('wiki', 'ignore_missing_pages', 'false'), 
     438  ('i18n', 'date_format', '%x'), 
     439  ('i18n', 'time_format', '%X'), 
     440  ('i18n', 'datetime_format', '%x %X'), 
    438441) 
    439442 
    440443default_components = ('trac.About', 'trac.attachment',  
  • trac/ticket/query.py

    diff -urN trac-0.9.6.orig/trac/ticket/query.py trac-0.9.6/trac/ticket/query.py
    old new  
    559559                    ticket['changed'] = True 
    560560            for field, value in ticket.items(): 
    561561                if field == 'time': 
    562                     ticket[field] = format_datetime(value) 
     562                    ticket[field] = format_datetime(value, self.env.config.get('i18n', 'datetime_format')) 
    563563                elif field == 'description': 
    564564                    ticket[field] = wiki_to_html(value or '', self.env, req, db) 
    565565                else: 
  • trac/ticket/report.py

    diff -urN trac-0.9.6.orig/trac/ticket/report.py trac-0.9.6/trac/ticket/report.py
    old new  
    351351                elif column == 'report': 
    352352                    value['report_href'] = self.env.href.report(cell) 
    353353                elif column in ('time', 'date','changetime', 'created', 'modified'): 
    354                     value['date'] = util.format_date(cell) 
    355                     value['time'] = util.format_time(cell) 
    356                     value['datetime'] = util.format_datetime(cell) 
     354                    value['date'] = util.format_date(cell, self.env.config.get('i18n', 'date_format')) 
     355                    value['time'] = util.format_time(cell, self.env.config.get('i18n', 'date_format')) 
     356                    value['datetime'] = util.format_datetime(cell, self.env.config.get('i18n', 'date_format')) 
    357357                    value['gmt'] = util.http_date(cell) 
    358358                prefix = 'report.items.%d.%s' % (row_idx, str(column)) 
    359359                req.hdf[prefix] = str(cell) 
  • trac/ticket/roadmap.py

    diff -urN trac-0.9.6.orig/trac/ticket/roadmap.py trac-0.9.6/trac/ticket/roadmap.py
    old new  
    9696        hdf['description'] = wiki_to_html(milestone.description, env, req, db) 
    9797    if milestone.due: 
    9898        hdf['due'] = milestone.due 
    99         hdf['due_date'] = format_date(milestone.due) 
     99        hdf['due_date'] = format_date(milestone.due, env.config.get('i18n', 'date_format')) 
    100100        hdf['due_delta'] = pretty_timedelta(milestone.due + 86400) 
    101101        hdf['late'] = milestone.is_late 
    102102    if milestone.completed: 
    103103        hdf['completed'] = milestone.completed 
    104         hdf['completed_date'] = format_datetime(milestone.completed) 
     104        hdf['completed_date'] = format_datetime(milestone.completed, env.config.get('i18n', 'datetime_format')) 
    105105        hdf['completed_delta'] = pretty_timedelta(milestone.completed) 
    106106    return hdf 
    107107 
     
    390390 
    391391        due = req.args.get('duedate', '') 
    392392        try: 
    393             milestone.due = due and parse_date(due) or 0 
     393            milestone.due = due and parse_date(due, self.env.config.get('i18n', 'date_format')) or 0 
    394394        except ValueError, e: 
    395395            raise TracError(e, 'Invalid Date Format') 
    396396        if req.args.has_key('completed'): 
    397397            completed = req.args.get('completeddate', '') 
    398398            try: 
    399                 milestone.completed = completed and parse_date(completed) or 0 
     399                milestone.completed = completed and parse_date(completed, self.env.config.get('i18n', 'datetime_format')) or 0 
    400400            except ValueError, e: 
    401401                raise TracError(e, 'Invalid Date Format') 
    402402            if milestone.completed > time(): 
     
    440440 
    441441        from trac.util import get_date_format_hint, get_datetime_format_hint 
    442442        req.hdf['milestone'] = milestone_to_hdf(self.env, db, req, milestone) 
    443         req.hdf['milestone.date_hint'] = get_date_format_hint() 
    444         req.hdf['milestone.datetime_hint'] = get_datetime_format_hint() 
    445         req.hdf['milestone.datetime_now'] = format_datetime() 
     443        req.hdf['milestone.date_hint'] = get_date_format_hint(self.env.config.get('i18n', 'date_format')) 
     444        req.hdf['milestone.datetime_hint'] = get_datetime_format_hint(self.env.config.get('i18n', 'datetime_format')) 
     445        req.hdf['milestone.datetime_now'] = format_datetime(None, self.env.config.get('i18n', 'datetime_format')) 
    446446 
    447447    def _render_view(self, req, db, milestone): 
    448448        req.hdf['title'] = 'Milestone %s' % milestone.name 
  • trac/ticket/web_ui.py

    diff -urN trac-0.9.6.orig/trac/ticket/web_ui.py trac-0.9.6/trac/ticket/web_ui.py
    old new  
    383383        req.hdf['ticket.description.formatted'] = wiki_to_html(ticket['description'], 
    384384                                                               self.env, req, db) 
    385385 
    386         req.hdf['ticket.opened'] = util.format_datetime(ticket.time_created) 
     386        req.hdf['ticket.opened'] = util.format_datetime(ticket.time_created, self.env.config.get('i18n', 'datetime_format')) 
    387387        req.hdf['ticket.opened_delta'] = util.pretty_timedelta(ticket.time_created) 
    388388        if ticket.time_changed != ticket.time_created: 
    389             req.hdf['ticket.lastmod'] = util.format_datetime(ticket.time_changed) 
     389            req.hdf['ticket.lastmod'] = util.format_datetime(ticket.time_changed, self.env.config.get('i18n', 'datetime_format')) 
    390390            req.hdf['ticket.lastmod_delta'] = util.pretty_timedelta(ticket.time_changed) 
    391391 
    392392        changelog = ticket.get_changelog(db=db) 
     
    396396        for date, author, field, old, new in changelog: 
    397397            if date != curr_date or author != curr_author: 
    398398                changes.append({ 
    399                     'date': util.format_datetime(date), 
     399                    'date': util.format_datetime(date, self.env.config.get('i18n', 'datetime_format')), 
    400400                    'author': author, 
    401401                    'fields': {} 
    402402                }) 
  • trac/util.py

    diff -urN trac-0.9.6.orig/trac/util.py trac-0.9.6/trac/util.py
    old new  
    414414def format_time(t=None, format='%X', gmt=False): 
    415415    return format_datetime(t, format, gmt) 
    416416 
    417 def get_date_format_hint(): 
     417def get_date_format_hint(format='%x'): 
    418418    t = time.localtime(0) 
    419419    t = (1999, 10, 29, t[3], t[4], t[5], t[6], t[7], t[8]) 
    420     tmpl = time.strftime('%x', t) 
     420    tmpl = time.strftime(format, t) 
    421421    return tmpl.replace('1999', 'YYYY', 1).replace('99', 'YY', 1) \ 
    422422               .replace('10', 'MM', 1).replace('29', 'DD', 1) 
    423423 
    424 def get_datetime_format_hint(): 
     424def get_datetime_format_hint(format='%x %X'): 
    425425    t = time.localtime(0) 
    426426    t = (1999, 10, 29, 23, 59, 58, t[6], t[7], t[8]) 
    427     tmpl = time.strftime('%x %X', t) 
     427    tmpl = time.strftime(format, t) 
    428428    return tmpl.replace('1999', 'YYYY', 1).replace('99', 'YY', 1) \ 
    429429               .replace('10', 'MM', 1).replace('29', 'DD', 1) \ 
    430430               .replace('23', 'hh', 1).replace('59', 'mm', 1) \ 
     
    443443           weekdays[t.tm_wday], t.tm_mday, months[t.tm_mon - 1], t.tm_year, 
    444444           t.tm_hour, t.tm_min, t.tm_sec) 
    445445 
    446 def parse_date(text): 
     446def parse_date(text, default_format='%x %X'): 
    447447    seconds = None 
    448448    text = text.strip() 
    449     for format in ['%x %X', '%x, %X', '%X %x', '%X, %x', '%x', '%c', 
     449    for format in [default_format, '%x %X', '%x, %X', '%X %x', '%X, %x', '%x', '%c', 
    450450                   '%b %d, %Y']: 
    451451        try: 
    452452            date = time.strptime(text, format) 
  • trac/versioncontrol/web_ui/browser.py

    diff -urN trac-0.9.6.orig/trac/versioncontrol/web_ui/browser.py trac-0.9.6/trac/versioncontrol/web_ui/browser.py
    old new  
    160160        req.hdf['file'] = {   
    161161            'rev': node.rev,   
    162162            'changeset_href': self.env.href.changeset(node.rev), 
    163             'date': util.format_datetime(changeset.date), 
     163            'date': util.format_datetime(changeset.date, self.env.config.get('i18n', 'datetime_format')), 
    164164            'age': util.pretty_timedelta(changeset.date), 
    165165            'author': changeset.author or 'anonymous', 
    166166            'message': wiki_to_html(changeset.message or '--', self.env, req, 
  • trac/versioncontrol/web_ui/changeset.py

    diff -urN trac-0.9.6.orig/trac/versioncontrol/web_ui/changeset.py trac-0.9.6/trac/versioncontrol/web_ui/changeset.py
    old new  
    152152        req.hdf['title'] = '[%s]' % chgset.rev 
    153153        req.hdf['changeset'] = { 
    154154            'revision': chgset.rev, 
    155             'time': util.format_datetime(chgset.date), 
     155            'time': util.format_datetime(chgset.date, self.env.config.get('i18n', 'datetime_format')), 
    156156            'author': chgset.author or 'anonymous', 
    157157            'message': wiki_to_html(chgset.message or '--', self.env, req, 
    158158                                    escape_newlines=True) 
  • trac/versioncontrol/web_ui/util.py

    diff -urN trac-0.9.6.orig/trac/versioncontrol/web_ui/util.py trac-0.9.6/trac/versioncontrol/web_ui/util.py
    old new  
    4848                message = str(message) 
    4949        changes[rev] = { 
    5050            'date_seconds': changeset.date, 
    51             'date': format_datetime(changeset.date), 
     51            'date': format_datetime(changeset.date, env.config.get('i18n', 'datetime_format')), 
    5252            'age': pretty_timedelta(changeset.date), 
    5353            'author': changeset.author or 'anonymous', 
    5454            'message': message, 
  • trac/web/main.py

    diff -urN trac-0.9.6.orig/trac/web/main.py trac-0.9.6/trac/web/main.py
    old new  
    149149    from trac import __version__ 
    150150    hdf['trac'] = { 
    151151        'version': __version__, 
    152         'time': format_datetime(), 
     152        'time': format_datetime(None, env.config.get('i18n', 'datetime_format')), 
    153153        'time.gmt': http_date() 
    154154    } 
    155155    hdf['trac.href'] = { 
  • trac/wiki/macros.py

    diff -urN trac-0.9.6.orig/trac/wiki/macros.py trac-0.9.6/trac/wiki/macros.py
    old new  
    114114        prevdate = None 
    115115 
    116116        for name, time in cursor: 
    117             date = format_date(time) 
     117            date = format_date(time, self.env.config.get('i18n', 'date_format')) 
    118118            if date != prevdate: 
    119119                if prevdate: 
    120120                    buf.write('</ul>') 
  • trac/wiki/web_ui.py

    diff -urN trac-0.9.6.orig/trac/wiki/web_ui.py trac-0.9.6/trac/wiki/web_ui.py
    old new  
    241241        for version,t,author,comment,ipnr in page.get_history(): 
    242242            if version == page.version: 
    243243                if t: 
    244                     info['time'] = format_datetime(t) 
     244                    info['time'] = format_datetime(t, self.env.config.get('i18n', 'datetime_format')) 
    245245                    info['time_delta'] = pretty_timedelta(t) 
    246246                info['author'] = author or 'anonymous' 
    247247                info['comment'] = comment or '--' 
     
    334334                                               version=version, 
    335335                                               action='diff'), 
    336336                'version': version, 
    337                 'time': format_datetime(t), 
     337                'time': format_datetime(t, self.env.config.get('i18n', 'datetime_format')), 
    338338                'time_delta': pretty_timedelta(t), 
    339339                'author': author, 
    340340                'comment': wiki_to_oneliner(comment or '', self.env, db),