Mercurial > hg
comparison hgext/keyword.py @ 28694:9a6fa1d93bc8
keyword: use templatefilter to mark a function as template filter
This patch also adds test for filter 'svnisodate' and 'svnutcdate' for
safety, because there is no test using them, yet.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 30 Mar 2016 02:10:44 +0900 |
parents | 311472301ef3 |
children | 4a65c9c6cd3f |
comparison
equal
deleted
inserted
replaced
28693:11f623b5668f | 28694:9a6fa1d93bc8 |
---|---|
102 filelog, | 102 filelog, |
103 localrepo, | 103 localrepo, |
104 match, | 104 match, |
105 patch, | 105 patch, |
106 pathutil, | 106 pathutil, |
107 registrar, | |
107 scmutil, | 108 scmutil, |
108 templatefilters, | 109 templatefilters, |
109 util, | 110 util, |
110 ) | 111 ) |
111 | 112 |
135 'kwfiles.enabledunknown': 'green', | 136 'kwfiles.enabledunknown': 'green', |
136 'kwfiles.ignored': 'bold', | 137 'kwfiles.ignored': 'bold', |
137 'kwfiles.ignoredunknown': 'none' | 138 'kwfiles.ignoredunknown': 'none' |
138 } | 139 } |
139 | 140 |
141 templatefilter = registrar.templatefilter() | |
142 | |
140 # date like in cvs' $Date | 143 # date like in cvs' $Date |
144 @templatefilter('utcdate') | |
141 def utcdate(text): | 145 def utcdate(text): |
142 ''':utcdate: Date. Returns a UTC-date in this format: "2009/08/18 11:00:13". | 146 '''Date. Returns a UTC-date in this format: "2009/08/18 11:00:13". |
143 ''' | 147 ''' |
144 return util.datestr((util.parsedate(text)[0], 0), '%Y/%m/%d %H:%M:%S') | 148 return util.datestr((util.parsedate(text)[0], 0), '%Y/%m/%d %H:%M:%S') |
145 # date like in svn's $Date | 149 # date like in svn's $Date |
150 @templatefilter('svnisodate') | |
146 def svnisodate(text): | 151 def svnisodate(text): |
147 ''':svnisodate: Date. Returns a date in this format: "2009-08-18 13:00:13 | 152 '''Date. Returns a date in this format: "2009-08-18 13:00:13 |
148 +0200 (Tue, 18 Aug 2009)". | 153 +0200 (Tue, 18 Aug 2009)". |
149 ''' | 154 ''' |
150 return util.datestr(text, '%Y-%m-%d %H:%M:%S %1%2 (%a, %d %b %Y)') | 155 return util.datestr(text, '%Y-%m-%d %H:%M:%S %1%2 (%a, %d %b %Y)') |
151 # date like in svn's $Id | 156 # date like in svn's $Id |
157 @templatefilter('svnutcdate') | |
152 def svnutcdate(text): | 158 def svnutcdate(text): |
153 ''':svnutcdate: Date. Returns a UTC-date in this format: "2009-08-18 | 159 '''Date. Returns a UTC-date in this format: "2009-08-18 |
154 11:00:13Z". | 160 11:00:13Z". |
155 ''' | 161 ''' |
156 return util.datestr((util.parsedate(text)[0], 0), '%Y-%m-%d %H:%M:%SZ') | 162 return util.datestr((util.parsedate(text)[0], 0), '%Y-%m-%d %H:%M:%SZ') |
157 | |
158 templatefilters.filters.update({'utcdate': utcdate, | |
159 'svnisodate': svnisodate, | |
160 'svnutcdate': svnutcdate}) | |
161 | 163 |
162 # make keyword tools accessible | 164 # make keyword tools accessible |
163 kwtools = {'templater': None, 'hgcmd': ''} | 165 kwtools = {'templater': None, 'hgcmd': ''} |
164 | 166 |
165 def _defaultkwmaps(ui): | 167 def _defaultkwmaps(ui): |