changeset 475:fa5b800055e4

Optimize ._split_ns(): use str.partition() if possible instead of str.split(n, 1)
author Franz Glasner <f.glasner@feldmann-mg.com>
date Fri, 17 Dec 2021 10:57:59 +0100
parents 4d7f6dede574
children eddc0f7c6271
files configmix/config.py
diffstat 1 files changed, 13 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/configmix/config.py	Thu Dec 16 09:31:32 2021 +0100
+++ b/configmix/config.py	Fri Dec 17 10:57:59 2021 +0100
@@ -529,11 +529,19 @@
             return default
 
     def _split_ns(self, s):
-        nameparts = s.split(self._NS_SEPARATOR, 1)
-        if len(nameparts) == 1:
-            return (None, s, )
-        else:
-            return (self.unquote(nameparts[0]), nameparts[1], )
+        try:
+            ns, sep, rest = s.partition(self._NS_SEPARATOR)
+            if sep:
+                return (self.unquote(ns), rest)
+            else:
+                return (None, ns)
+        except AttributeError:
+            # pre PY 2.5
+            nameparts = s.split(self._NS_SEPARATOR, 1)
+            if len(nameparts) == 1:
+                return (None, s, )
+            else:
+                return (self.unquote(nameparts[0]), nameparts[1], )
 
     def _split_filters(self, s):
         nameparts = s.split(self._FILTER_SEPARATOR)