Now you can also query with more operators using:
     field >= val   with   {">=field", "val"}
     field <= val   with   {"<=field", "val"}
     field != val   with   {"!field", "val"}

Please, push :P
From 7000db9e4b5d19448c3d473fb61b4bd3903e7ded Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20(Trevi=C3=B1o)?= <[email protected]>
Date: Wed, 15 Dec 2010 02:04:01 +0100
Subject: [PATCH] opimd: add more query operator support

Now you can also query with more operators using:
 field >= val   with   {">=field", "val"}
 field <= val   with   {"<=field", "val"}
 field != val   with   {"!field", "val"}
---
 framework/subsystems/opimd/db_handler.py |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/framework/subsystems/opimd/db_handler.py b/framework/subsystems/opimd/db_handler.py
index 0622848..070850c 100644
--- a/framework/subsystems/opimd/db_handler.py
+++ b/framework/subsystems/opimd/db_handler.py
@@ -214,7 +214,8 @@ class DbHandler(object):
             return " value " + operator + " ? "
         else:
             #FIXME: raise error if operator is not '='
-            return " regex_matches(value, ?) = 1 "
+            if (operator == '!=' or operator == "="):
+                return " regex_matches(value, ?) "+operator+" 1 "
     def get_value_compare_object(self, type, field, value):
         if type == "phonenumber":
             return normalize_number(str(value))
@@ -289,7 +290,13 @@ class DbHandler(object):
             
             #handle type searching
             if name.startswith('<') or name.startswith('>'):
-                operator = name[:1]
+                pos = 1
+                if (name[1] == '='):
+                    pos = 2
+                operator = name[:pos]
+                name = name[pos:]
+            elif name.startswith('!'):
+                operator = '!='
                 name = name[1:]
             else:
                 operator = '='
-- 
1.7.1

_______________________________________________
Shr-devel mailing list
[email protected]
http://lists.shr-project.org/mailman/listinfo/shr-devel

Reply via email to