diff frontends/ZRoundup/ZRoundup.py @ 2612:7cf56f5b3991

merge from maint-0-7
author Richard Jones <richard@users.sourceforge.net>
date Wed, 21 Jul 2004 04:50:40 +0000
parents f5c804379c85
children a9e1fff1e793
line wrap: on
line diff
--- a/frontends/ZRoundup/ZRoundup.py	Wed Jul 21 01:01:44 2004 +0000
+++ b/frontends/ZRoundup/ZRoundup.py	Wed Jul 21 04:50:40 2004 +0000
@@ -14,7 +14,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: ZRoundup.py,v 1.17 2003-11-12 01:00:58 richard Exp $
+# $Id: ZRoundup.py,v 1.18 2004-07-21 04:50:40 richard Exp $
 #
 ''' ZRoundup module - exposes the roundup web interface to Zope
 
@@ -82,12 +82,33 @@
     '''
     def __init__(self, form):
         self.form = form
+        self.value = []
     def __getitem__(self, item):
-        return FormItem(self.form[item])
+        for entry in self.value:
+            if entry.name == item:
+                return entry
+        entry = self.form[item]
+        if isinstance(entry, type([])):
+            entry = map(FormItem, entry)
+        else:
+            entry = FormItem(entry)
+        return entry
+    def getvalue(self, key, default=None):
+        if self.form.has_key(key):
+            return self.form[key]
+        else:
+            return default 
     def has_key(self, item):
+        for entry in self.value:
+            if entry.name == item:
+                return 1
         return self.form.has_key(item)
     def keys(self):
-        return self.form.keys()
+        l = [e.name for e in self.value]
+        for name in self.form.keys():
+            if name not in l:
+                l.append(name)
+        return l
 
 class ZRoundup(Item, PropertyManager, Implicit, Persistent):
     '''An instance of this class provides an interface between Zope and

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