diff roundup/backends/back_metakit.py @ 3869:16faac822fe5

Allow Multilinks to take any iterable Change create_inner & set_inner to allow any iterable for Multilinks. Added a test to make sure they work and that we raise an exception for non-iterables.
author Justus Pendleton <jpend@users.sourceforge.net>
date Wed, 29 Aug 2007 16:40:20 +0000
parents 5e21117e38b2
children 34128a809e22
line wrap: on
line diff
--- a/roundup/backends/back_metakit.py	Tue Aug 28 22:37:45 2007 +0000
+++ b/roundup/backends/back_metakit.py	Wed Aug 29 16:40:20 2007 +0000
@@ -1,4 +1,4 @@
-# $Id: back_metakit.py,v 1.115 2007-03-14 15:51:03 schlatterbeck Exp $
+# $Id: back_metakit.py,v 1.116 2007-08-29 16:40:20 jpend Exp $
 '''Metakit backend for Roundup, originally by Gordon McMillan.
 
 Known Current Bugs:
@@ -647,8 +647,8 @@
                             (self.classname, str(row.id), key))
 
             elif isinstance(prop, hyperdb.Multilink):
-                if value is not None and type(value) != _LISTTYPE:
-                    raise TypeError, 'new property "%s" not a list of ids'%key
+                if not hasattr(value, '__iter__'):
+                    raise TypeError, 'new property "%s" not an iterable of ids'%key
                 link_class = prop.classname
                 l = []
                 if value is None:

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