diff roundup/backends/back_gadfly.py @ 1351:d1bfb479e527

fixed searching on date / interval fields [SF#658157]
author Richard Jones <richard@users.sourceforge.net>
date Wed, 08 Jan 2003 05:39:40 +0000
parents 80d27b7d6db5
children 4884fb0860f9
line wrap: on
line diff
--- a/roundup/backends/back_gadfly.py	Wed Jan 08 04:57:42 2003 +0000
+++ b/roundup/backends/back_gadfly.py	Wed Jan 08 05:39:40 2003 +0000
@@ -1,4 +1,4 @@
-# $Id: back_gadfly.py,v 1.30 2002-12-12 09:31:04 richard Exp $
+# $Id: back_gadfly.py,v 1.31 2003-01-08 05:39:40 richard Exp $
 ''' Gadlfy relational database hypderb backend.
 
 About Gadfly
@@ -169,6 +169,22 @@
                 else:
                     where.append('id=%s.nodeid and %s.linkid = %s'%(tn, tn, a))
                     args.append(v)
+            elif isinstance(propclass, Date):
+                if isinstance(v, type([])):
+                    s = ','.join([a for x in v])
+                    where.append('_%s in (%s)'%(k, s))
+                    args = args + [date.Date(x).serialise() for x in v]
+                else:
+                    where.append('_%s=%s'%(k, a))
+                    args.append(date.Date(v).serialise())
+            elif isinstance(propclass, Interval):
+                if isinstance(v, type([])):
+                    s = ','.join([a for x in v])
+                    where.append('_%s in (%s)'%(k, s))
+                    args = args + [date.Interval(x).serialise() for x in v]
+                else:
+                    where.append('_%s=%s'%(k, a))
+                    args.append(date.Interval(v).serialise())
             else:
                 if isinstance(v, type([])):
                     s = ','.join([a for x in v])

Roundup Issue Tracker: http://roundup-tracker.org/