mailr16404 - /branches/uf_redesign/gui/input_elements/sequence.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on May 22, 2012 - 18:50:
Author: bugman
Date: Tue May 22 18:50:48 2012
New Revision: 16404

URL: http://svn.gna.org/viewcvs/relax?rev=16404&view=rev
Log:
Better handling of empty data in the Sequence.GetValue() method.


Modified:
    branches/uf_redesign/gui/input_elements/sequence.py

Modified: branches/uf_redesign/gui/input_elements/sequence.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/input_elements/sequence.py?rev=16404&r1=16403&r2=16404&view=diff
==============================================================================
--- branches/uf_redesign/gui/input_elements/sequence.py (original)
+++ branches/uf_redesign/gui/input_elements/sequence.py Tue May 22 18:50:48 
2012
@@ -236,8 +236,14 @@
         # The value.
         value = self._field.GetValue()
 
+        # Handle Combo_list elements.
+        if self.element_type == 'combo_list':
+            # Empty lists.
+            if value == []:
+                return None
+
         # Non Combo_list elements.
-        if self.element_type != 'combo_list':
+        else:
             # Handle single values.
             value_set = False
             if self.single_value:
@@ -251,8 +257,12 @@
             if not value_set:
                 try:
                     value = self.convert_from_gui_seq(value)
+
+                # Set the value to None or an empty sequence.
                 except RelaxError:
-                    if self.seq_type == 'list':
+                    if self.can_be_none:
+                        value = None
+                    elif self.seq_type == 'list':
                         value = []
                     else:
                         value = ()
@@ -263,7 +273,7 @@
                 value = value[0]
 
         # Convert single values to sequences as needed.
-        else:
+        elif value != None:
             if self.seq_type == 'list' and not isinstance(value, list):
                 value = [value]
             elif self.seq_type == 'tuple' and not isinstance(value, tuple):




Related Messages


Powered by MHonArc, Updated Tue May 22 19:20:02 2012