| 1 | """Inserts the current time (in seconds) into the wiki page.""" |
|---|
| 2 | |
|---|
| 3 | revision = "$Rev: 6326 $" |
|---|
| 4 | url = "$URL: //svn.edgewall.org/repos/trac/tags/trac-0.11/sample-plugins/Timestamp.py $" |
|---|
| 5 | |
|---|
| 6 | # |
|---|
| 7 | # The following shows the code for macro, old-style. |
|---|
| 8 | # |
|---|
| 9 | # The `execute` function serves no purpose other than to illustrate |
|---|
| 10 | # the example, it will not be used anymore. |
|---|
| 11 | # |
|---|
| 12 | # ---- (ignore in your own macro) ---- |
|---|
| 13 | # -- |
|---|
| 14 | import time # Trac before version 0.11 was using `time` module |
|---|
| 15 | |
|---|
| 16 | def execute(hdf, txt, env): |
|---|
| 17 | t = time.localtime() |
|---|
| 18 | return "<b>%s</b>" % time.strftime('%c', t) |
|---|
| 19 | # -- |
|---|
| 20 | # ---- (ignore in your own macro) ---- |
|---|
| 21 | |
|---|
| 22 | |
|---|
| 23 | # |
|---|
| 24 | # The following is the converted new-style macro |
|---|
| 25 | # |
|---|
| 26 | # ---- (reuse for your own macro) ---- |
|---|
| 27 | # -- |
|---|
| 28 | from datetime import datetime |
|---|
| 29 | # Note: since Trac 0.11, datetime objects are used internally |
|---|
| 30 | |
|---|
| 31 | from genshi.builder import tag |
|---|
| 32 | |
|---|
| 33 | from trac.util.datefmt import format_datetime, utc |
|---|
| 34 | from trac.wiki.macros import WikiMacroBase |
|---|
| 35 | |
|---|
| 36 | class TimestampMacro(WikiMacroBase): |
|---|
| 37 | """Inserts the current time (in seconds) into the wiki page.""" |
|---|
| 38 | |
|---|
| 39 | def expand_macro(self, formatter, name, args): |
|---|
| 40 | t = datetime.now(utc) |
|---|
| 41 | return tag.b(format_datetime(t, '%c')) |
|---|
| 42 | # -- |
|---|
| 43 | # ---- (reuse for your own macro) ---- |
|---|