comparison contrib/check-code.py @ 19310:30ea54660d14

check-code: introduce function for using re2 when available Do it similar as in mercurial.util. For simplicity only support flag multiline which is the only one used.
author Simon Heimberg <simohe@besonet.ch>
date Sat, 08 Jun 2013 20:20:14 +0200
parents 7d77fa1cd537
children 9de689d20230
comparison
equal deleted inserted replaced
19309:7d77fa1cd537 19310:30ea54660d14
8 # GNU General Public License version 2 or any later version. 8 # GNU General Public License version 2 or any later version.
9 9
10 import re, glob, os, sys 10 import re, glob, os, sys
11 import keyword 11 import keyword
12 import optparse 12 import optparse
13 try:
14 import re2
15 except ImportError:
16 re2 = None
17
18 def compilere(pat, multiline=False):
19 if multiline:
20 pat = '(?m)' + pat
21 if re2:
22 try:
23 return re2.compile(pat)
24 except re2.error:
25 pass
26 return re.compile(pat)
13 27
14 def repquote(m): 28 def repquote(m):
15 t = re.sub(r"\w", "x", m.group('text')) 29 t = re.sub(r"\w", "x", m.group('text'))
16 t = re.sub(r"[^\s\nx]", "o", t) 30 t = re.sub(r"[^\s\nx]", "o", t)
17 return m.group('quote') + t + m.group('quote') 31 return m.group('quote') + t + m.group('quote')