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):