[Checkins] SVN: z3c.form/trunk/src/z3c/form/ Make it possible to delete fields from the Fields Widget Manager

Hermann Himmelbauer dusty at qwer.tk
Tue Aug 26 09:33:12 EDT 2008


Log message for revision 90330:
  Make it possible to delete fields from the Fields Widget Manager
  

Changed:
  U   z3c.form/trunk/src/z3c/form/field.txt
  U   z3c.form/trunk/src/z3c/form/util.py

-=-
Modified: z3c.form/trunk/src/z3c/form/field.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/field.txt	2008-08-26 13:02:31 UTC (rev 90329)
+++ z3c.form/trunk/src/z3c/form/field.txt	2008-08-26 13:33:11 UTC (rev 90330)
@@ -438,7 +438,21 @@
   >>> len(manager)
   3
 
+It is also possible to delete widgets from the manager:
 
+  >>> del manager['firstName']
+  >>> len(manager)
+  2
+  >>> manager.values()
+  [<Widget 'form.widgets.id'>, <Widget 'form.widgets.lastName'>]
+  >>> manager.keys()
+  ['id', 'lastName']
+  >>> manager.items()
+  [('id', <Widget 'form.widgets.id'>),
+  ('lastName', <Widget 'form.widgets.lastName'>)]
+
+
+
 Properties of widgets within a manager
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

Modified: z3c.form/trunk/src/z3c/form/util.py
===================================================================
--- z3c.form/trunk/src/z3c/form/util.py	2008-08-26 13:02:31 UTC (rev 90329)
+++ z3c.form/trunk/src/z3c/form/util.py	2008-08-26 13:33:11 UTC (rev 90330)
@@ -135,6 +135,15 @@
     def __getitem__(self, name):
         return self._data[name]
 
+    def __delitem__(self, name):
+        if name not in self._data_keys:
+            raise KeyError(_('No such key'))
+
+        del self._data_keys[self._data_keys.index(name)]
+        value = self._data[name]
+        del self._data_values[self._data_values.index(value)]
+        del self._data[name]
+
     def get(self, name, default=None):
         return self._data.get(name, default)
 



More information about the Checkins mailing list