diff -urN trac-0.9.6.orig/trac/Search.py trac-0.9.6/trac/Search.py
|
old
|
new
|
|
| 186 | 186 | req.hdf['search.result'] = [ |
| 187 | 187 | { 'href': result[0], |
| 188 | 188 | 'title': result[1], |
| 189 | | 'date': format_datetime(result[2]), |
| | 189 | 'date': format_datetime(result[2], self.env.config.get('i18n', 'datetime_format')), |
| 190 | 190 | 'author': result[3], |
| 191 | 191 | 'excerpt': result[4] |
| 192 | 192 | } for result in results] |
diff -urN trac-0.9.6.orig/trac/Timeline.py trac-0.9.6/trac/Timeline.py
|
old
|
new
|
|
| 96 | 96 | t = time.localtime() |
| 97 | 97 | if req.args.has_key('from'): |
| 98 | 98 | 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')) |
| 100 | 100 | except: |
| 101 | 101 | pass |
| 102 | 102 | |
| … |
… |
|
| 105 | 105 | daysback = max(0, int(req.args.get('daysback', ''))) |
| 106 | 106 | except ValueError: |
| 107 | 107 | 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')) |
| 109 | 109 | req.hdf['timeline.daysback'] = daysback |
| 110 | 110 | |
| 111 | 111 | available_filters = [] |
| … |
… |
|
| 154 | 154 | for kind, href, title, date, author, message in events: |
| 155 | 155 | event = {'kind': kind, 'title': title, 'href': href, |
| 156 | 156 | 'author': author or 'anonymous', |
| 157 | | 'date': format_date(date), |
| | 157 | 'date': format_date(date, self.env.config.get('i18n', 'date_format')), |
| 158 | 158 | 'time': format_time(date, '%H:%M'), |
| 159 | 159 | 'message': message} |
| 160 | 160 | |
diff -urN trac-0.9.6.orig/trac/attachment.py trac-0.9.6/trac/attachment.py
|
old
|
new
|
|
| 200 | 200 | 'author': attachment.author, |
| 201 | 201 | 'ipnr': attachment.ipnr, |
| 202 | 202 | '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')), |
| 204 | 204 | 'href': attachment.href() |
| 205 | 205 | } |
| 206 | 206 | return hdf |
diff -urN trac-0.9.6.orig/trac/db_default.py trac-0.9.6/trac/db_default.py
|
old
|
new
|
|
| 435 | 435 | ('timeline', 'ticket_show_details', 'false'), |
| 436 | 436 | ('browser', 'hide_properties', 'svk:merge'), |
| 437 | 437 | ('wiki', 'ignore_missing_pages', 'false'), |
| | 438 | ('i18n', 'date_format', '%x'), |
| | 439 | ('i18n', 'time_format', '%X'), |
| | 440 | ('i18n', 'datetime_format', '%x %X'), |
| 438 | 441 | ) |
| 439 | 442 | |
| 440 | 443 | default_components = ('trac.About', 'trac.attachment', |
diff -urN trac-0.9.6.orig/trac/ticket/query.py trac-0.9.6/trac/ticket/query.py
|
old
|
new
|
|
| 559 | 559 | ticket['changed'] = True |
| 560 | 560 | for field, value in ticket.items(): |
| 561 | 561 | if field == 'time': |
| 562 | | ticket[field] = format_datetime(value) |
| | 562 | ticket[field] = format_datetime(value, self.env.config.get('i18n', 'datetime_format')) |
| 563 | 563 | elif field == 'description': |
| 564 | 564 | ticket[field] = wiki_to_html(value or '', self.env, req, db) |
| 565 | 565 | else: |
diff -urN trac-0.9.6.orig/trac/ticket/report.py trac-0.9.6/trac/ticket/report.py
|
old
|
new
|
|
| 351 | 351 | elif column == 'report': |
| 352 | 352 | value['report_href'] = self.env.href.report(cell) |
| 353 | 353 | 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')) |
| 357 | 357 | value['gmt'] = util.http_date(cell) |
| 358 | 358 | prefix = 'report.items.%d.%s' % (row_idx, str(column)) |
| 359 | 359 | req.hdf[prefix] = str(cell) |
diff -urN trac-0.9.6.orig/trac/ticket/roadmap.py trac-0.9.6/trac/ticket/roadmap.py
|
old
|
new
|
|
| 96 | 96 | hdf['description'] = wiki_to_html(milestone.description, env, req, db) |
| 97 | 97 | if milestone.due: |
| 98 | 98 | 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')) |
| 100 | 100 | hdf['due_delta'] = pretty_timedelta(milestone.due + 86400) |
| 101 | 101 | hdf['late'] = milestone.is_late |
| 102 | 102 | if milestone.completed: |
| 103 | 103 | 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')) |
| 105 | 105 | hdf['completed_delta'] = pretty_timedelta(milestone.completed) |
| 106 | 106 | return hdf |
| 107 | 107 | |
| … |
… |
|
| 390 | 390 | |
| 391 | 391 | due = req.args.get('duedate', '') |
| 392 | 392 | 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 |
| 394 | 394 | except ValueError, e: |
| 395 | 395 | raise TracError(e, 'Invalid Date Format') |
| 396 | 396 | if req.args.has_key('completed'): |
| 397 | 397 | completed = req.args.get('completeddate', '') |
| 398 | 398 | 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 |
| 400 | 400 | except ValueError, e: |
| 401 | 401 | raise TracError(e, 'Invalid Date Format') |
| 402 | 402 | if milestone.completed > time(): |
| … |
… |
|
| 440 | 440 | |
| 441 | 441 | from trac.util import get_date_format_hint, get_datetime_format_hint |
| 442 | 442 | 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')) |
| 446 | 446 | |
| 447 | 447 | def _render_view(self, req, db, milestone): |
| 448 | 448 | req.hdf['title'] = 'Milestone %s' % milestone.name |
diff -urN trac-0.9.6.orig/trac/ticket/web_ui.py trac-0.9.6/trac/ticket/web_ui.py
|
old
|
new
|
|
| 383 | 383 | req.hdf['ticket.description.formatted'] = wiki_to_html(ticket['description'], |
| 384 | 384 | self.env, req, db) |
| 385 | 385 | |
| 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')) |
| 387 | 387 | req.hdf['ticket.opened_delta'] = util.pretty_timedelta(ticket.time_created) |
| 388 | 388 | 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')) |
| 390 | 390 | req.hdf['ticket.lastmod_delta'] = util.pretty_timedelta(ticket.time_changed) |
| 391 | 391 | |
| 392 | 392 | changelog = ticket.get_changelog(db=db) |
| … |
… |
|
| 396 | 396 | for date, author, field, old, new in changelog: |
| 397 | 397 | if date != curr_date or author != curr_author: |
| 398 | 398 | changes.append({ |
| 399 | | 'date': util.format_datetime(date), |
| | 399 | 'date': util.format_datetime(date, self.env.config.get('i18n', 'datetime_format')), |
| 400 | 400 | 'author': author, |
| 401 | 401 | 'fields': {} |
| 402 | 402 | }) |
diff -urN trac-0.9.6.orig/trac/util.py trac-0.9.6/trac/util.py
|
old
|
new
|
|
| 414 | 414 | def format_time(t=None, format='%X', gmt=False): |
| 415 | 415 | return format_datetime(t, format, gmt) |
| 416 | 416 | |
| 417 | | def get_date_format_hint(): |
| | 417 | def get_date_format_hint(format='%x'): |
| 418 | 418 | t = time.localtime(0) |
| 419 | 419 | 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) |
| 421 | 421 | return tmpl.replace('1999', 'YYYY', 1).replace('99', 'YY', 1) \ |
| 422 | 422 | .replace('10', 'MM', 1).replace('29', 'DD', 1) |
| 423 | 423 | |
| 424 | | def get_datetime_format_hint(): |
| | 424 | def get_datetime_format_hint(format='%x %X'): |
| 425 | 425 | t = time.localtime(0) |
| 426 | 426 | 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) |
| 428 | 428 | return tmpl.replace('1999', 'YYYY', 1).replace('99', 'YY', 1) \ |
| 429 | 429 | .replace('10', 'MM', 1).replace('29', 'DD', 1) \ |
| 430 | 430 | .replace('23', 'hh', 1).replace('59', 'mm', 1) \ |
| … |
… |
|
| 443 | 443 | weekdays[t.tm_wday], t.tm_mday, months[t.tm_mon - 1], t.tm_year, |
| 444 | 444 | t.tm_hour, t.tm_min, t.tm_sec) |
| 445 | 445 | |
| 446 | | def parse_date(text): |
| | 446 | def parse_date(text, default_format='%x %X'): |
| 447 | 447 | seconds = None |
| 448 | 448 | 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', |
| 450 | 450 | '%b %d, %Y']: |
| 451 | 451 | try: |
| 452 | 452 | date = time.strptime(text, format) |
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
|
|
| 160 | 160 | req.hdf['file'] = { |
| 161 | 161 | 'rev': node.rev, |
| 162 | 162 | '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')), |
| 164 | 164 | 'age': util.pretty_timedelta(changeset.date), |
| 165 | 165 | 'author': changeset.author or 'anonymous', |
| 166 | 166 | 'message': wiki_to_html(changeset.message or '--', self.env, req, |
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
|
|
| 152 | 152 | req.hdf['title'] = '[%s]' % chgset.rev |
| 153 | 153 | req.hdf['changeset'] = { |
| 154 | 154 | 'revision': chgset.rev, |
| 155 | | 'time': util.format_datetime(chgset.date), |
| | 155 | 'time': util.format_datetime(chgset.date, self.env.config.get('i18n', 'datetime_format')), |
| 156 | 156 | 'author': chgset.author or 'anonymous', |
| 157 | 157 | 'message': wiki_to_html(chgset.message or '--', self.env, req, |
| 158 | 158 | escape_newlines=True) |
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
|
|
| 48 | 48 | message = str(message) |
| 49 | 49 | changes[rev] = { |
| 50 | 50 | 'date_seconds': changeset.date, |
| 51 | | 'date': format_datetime(changeset.date), |
| | 51 | 'date': format_datetime(changeset.date, env.config.get('i18n', 'datetime_format')), |
| 52 | 52 | 'age': pretty_timedelta(changeset.date), |
| 53 | 53 | 'author': changeset.author or 'anonymous', |
| 54 | 54 | 'message': message, |
diff -urN trac-0.9.6.orig/trac/web/main.py trac-0.9.6/trac/web/main.py
|
old
|
new
|
|
| 149 | 149 | from trac import __version__ |
| 150 | 150 | hdf['trac'] = { |
| 151 | 151 | 'version': __version__, |
| 152 | | 'time': format_datetime(), |
| | 152 | 'time': format_datetime(None, env.config.get('i18n', 'datetime_format')), |
| 153 | 153 | 'time.gmt': http_date() |
| 154 | 154 | } |
| 155 | 155 | hdf['trac.href'] = { |
diff -urN trac-0.9.6.orig/trac/wiki/macros.py trac-0.9.6/trac/wiki/macros.py
|
old
|
new
|
|
| 114 | 114 | prevdate = None |
| 115 | 115 | |
| 116 | 116 | for name, time in cursor: |
| 117 | | date = format_date(time) |
| | 117 | date = format_date(time, self.env.config.get('i18n', 'date_format')) |
| 118 | 118 | if date != prevdate: |
| 119 | 119 | if prevdate: |
| 120 | 120 | buf.write('</ul>') |
diff -urN trac-0.9.6.orig/trac/wiki/web_ui.py trac-0.9.6/trac/wiki/web_ui.py
|
old
|
new
|
|
| 241 | 241 | for version,t,author,comment,ipnr in page.get_history(): |
| 242 | 242 | if version == page.version: |
| 243 | 243 | if t: |
| 244 | | info['time'] = format_datetime(t) |
| | 244 | info['time'] = format_datetime(t, self.env.config.get('i18n', 'datetime_format')) |
| 245 | 245 | info['time_delta'] = pretty_timedelta(t) |
| 246 | 246 | info['author'] = author or 'anonymous' |
| 247 | 247 | info['comment'] = comment or '--' |
| … |
… |
|
| 334 | 334 | version=version, |
| 335 | 335 | action='diff'), |
| 336 | 336 | 'version': version, |
| 337 | | 'time': format_datetime(t), |
| | 337 | 'time': format_datetime(t, self.env.config.get('i18n', 'datetime_format')), |
| 338 | 338 | 'time_delta': pretty_timedelta(t), |
| 339 | 339 | 'author': author, |
| 340 | 340 | 'comment': wiki_to_oneliner(comment or '', self.env, db), |