[PATCH 8 of 8] check-code: more replacement characters

Simon Heimberg simohe at besonet.ch
Tue Nov 5 02:06:39 CST 2013


# HG changeset patch
# User Simon Heimberg <simohe at besonet.ch>
# Date 1383638431 -3600
#      Tue Nov 05 09:00:31 2013 +0100
# Branch stable
# Node ID 2e096bfe9691bc594c925e19bf4f0c5d195b79dc
# Parent  0d56501f3381b0066453cb238ada262bad114b3a
check-code: more replacement characters

for finding '.. note::' (even) more exact by using more characters:
replace '.' with 'p' and ':' with 'q'

diff -r 0d56501f3381 -r 2e096bfe9691 contrib/check-code.py
--- a/contrib/check-code.py	Tue Nov 05 09:00:31 2013 +0100
+++ b/contrib/check-code.py	Tue Nov 05 09:00:31 2013 +0100
@@ -26,8 +26,25 @@
     return re.compile(pat)
 
 def repquote(m):
-    t = re.sub(r"\w", "x", m.group('text'))
-    t = re.sub(r"[^\s\nx]", "o", t)
+    fromc = '.:'
+    tochr = 'pq'
+    def encodechr(i):
+        if i > 255:
+            return 'u'
+        c = chr(i)
+        if c in ' \n':
+            return c
+        if c.isalpha():
+            return 'x'
+        if c.isdigit():
+            return 'n'
+        try:
+            return tochr[fromc.find(c)]
+        except (ValueError, IndexError):
+            return 'o'
+    t = m.group('text')
+    tt = ''.join(encodechr(i) for i in xrange(256))
+    t = t.translate(tt)
     return m.group('quote') + t + m.group('quote')
 
 def reppython(m):
@@ -263,7 +280,7 @@
   ],
   # warnings
   [
-    (r'(^| )oo +xxxxoo[ \n][^\n]', "add two newlines after '.. note::'"),
+    (r'(^| )pp +xxxxqq[ \n][^\n]', "add two newlines after '.. note::'"),
   ]
 ]
 


More information about the Mercurial-devel mailing list