schemes: move re construction to module-level and python3-ify
authorAugie Fackler <raf@durin42.com>
Fri, 03 Mar 2017 13:25:30 -0500
changeset 31181 150cd5125722
parent 31180 27e3b66ec7c5
child 31182 5660c45ecba6
schemes: move re construction to module-level and python3-ify This makes the schemes extension load correctly in Python 3.
hgext/schemes.py
--- a/hgext/schemes.py	Fri Mar 03 13:29:50 2017 -0500
+++ b/hgext/schemes.py	Fri Mar 03 13:25:30 2017 -0500
@@ -63,6 +63,7 @@
 # leave the attribute unspecified.
 testedwith = 'ships-with-hg-core'
 
+_partre = re.compile(r'\{(\d+)\}'.encode(u'latin1'))
 
 class ShortRepository(object):
     def __init__(self, url, scheme, templater):
@@ -70,7 +71,7 @@
         self.templater = templater
         self.url = url
         try:
-            self.parts = max(map(int, re.findall(r'\{(\d+)\}', self.url)))
+            self.parts = max(map(int, _partre.findall(self.url)))
         except ValueError:
             self.parts = 0