]> granicus.if.org Git - python/commitdiff
Issue #28637: No longer use re in site.py.
authorSerhiy Storchaka <storchaka@gmail.com>
Tue, 8 Nov 2016 18:17:35 +0000 (20:17 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Tue, 8 Nov 2016 18:17:35 +0000 (20:17 +0200)
This makes Python startup from a virtual environment a little faster.

Lib/site.py

index 0859f28ce1b91dbe7042eabcd949bb719d54ceb6..0fc92009e19af36eefd5925713a4d690fb26db5e 100644 (file)
@@ -422,8 +422,6 @@ def enablerlcompleter():
 
     sys.__interactivehook__ = register_readline
 
-CONFIG_LINE = r'^(?P<key>(\w|[-_])+)\s*=\s*(?P<value>.*)\s*$'
-
 def venv(known_paths):
     global PREFIXES, ENABLE_USER_SITE
 
@@ -445,19 +443,16 @@ def venv(known_paths):
         ]
 
     if candidate_confs:
-        import re
-        config_line = re.compile(CONFIG_LINE)
         virtual_conf = candidate_confs[0]
         system_site = "true"
         # Issue 25185: Use UTF-8, as that's what the venv module uses when
         # writing the file.
         with open(virtual_conf, encoding='utf-8') as f:
             for line in f:
-                line = line.strip()
-                m = config_line.match(line)
-                if m:
-                    d = m.groupdict()
-                    key, value = d['key'].lower(), d['value']
+                if '=' in line:
+                    key, _, value = line.partition('=')
+                    key = key.strip().lower()
+                    value = value.strip()
                     if key == 'include-system-site-packages':
                         system_site = value.lower()
                     elif key == 'home':