querybuilder: take type from last ':'
authorMarko Kreen <markokr@gmail.com>
Thu, 29 Dec 2011 09:29:31 +0000 (11:29 +0200)
committerMarko Kreen <markokr@gmail.com>
Thu, 29 Dec 2011 09:29:31 +0000 (11:29 +0200)
this allows ':' in variable name

python/skytools/querybuilder.py

index 00fe717fe7e3090e5c338a7712ce50bbbc951df0..c2eead2dc4919dbc81ceaee2841ef9ee9ac88eee 100755 (executable)
@@ -202,11 +202,12 @@ class QueryBuilder:
             # get arg name, check if exists
             k = expr[a1 + 1 : a2]
             # split name from type
-            k = k.split(":", 1)
-            kparam = k[0]
-            try:
-                ktype = k[1]
-            except IndexError:
+            tpos = k.rfind(':')
+            if tpos > 0:
+                kparam = k[:tpos]
+                ktype = k[tpos+1 : ]
+            else:
+                kparam = k
                 ktype = type
 
             # params==None means params are checked later