mailr16009 - /branches/uf_redesign/prompt/objects.py


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

Header


Content

Posted by edward on May 05, 2012 - 22:13:
Author: bugman
Date: Sat May  5 22:13:04 2012
New Revision: 16009

URL: http://svn.gna.org/viewcvs/relax?rev=16009&view=rev
Log:
The user function intro is now printed out before the argument checking.

This is for better user feedback.


Modified:
    branches/uf_redesign/prompt/objects.py

Modified: branches/uf_redesign/prompt/objects.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/uf_redesign/prompt/objects.py?rev=16009&r1=16008&r2=16009&view=diff
==============================================================================
--- branches/uf_redesign/prompt/objects.py (original)
+++ branches/uf_redesign/prompt/objects.py Sat May  5 22:13:04 2012
@@ -90,70 +90,13 @@
 
         # Set the argument defaults.
         values = []
-        keys = uf_kargs.keys()
         for i in range(self._karg_num):
+            # The keyword.
+            name = self._kargs[i]['name']
+
             # The user supplied value.
-            if self._kargs[i]['name'] in keys:
-                # Aliases.
-                value = uf_kargs[self._kargs[i]['name']]
-                arg = self._kargs[i]
-                py_type = arg['py_type']
-                desc_short = arg['desc_short']
-                size = arg['size']
-                dim = arg['dim']
-                can_be_none = arg['can_be_none']
-                can_be_empty = arg['can_be_empty']
-                none_elements = arg['none_elements']
-                list_of_lists = arg['list_of_lists']
-
-                # Check if the correct Python object type has been supplied.
-                if py_type == 'bool':
-                    arg_check.is_bool(value, desc_short)
-                elif py_type == 'float':
-                    arg_check.is_float(value, desc_short, 
can_be_none=can_be_none)
-                elif py_type == 'float_array':
-                    arg_check.is_float_array(value, desc_short, size=size, 
can_be_none=can_be_none)
-                elif py_type == 'float_matrix':
-                    arg_check.is_float_matrix(value, desc_short, dim=dim, 
can_be_none=can_be_none)
-                elif py_type == 'func':
-                    arg_check.is_func(value, desc_short, 
can_be_none=can_be_none)
-                elif py_type == 'int':
-                    arg_check.is_int(value, desc_short, 
can_be_none=can_be_none)
-                elif py_type == 'int_list':
-                    arg_check.is_int(value, desc_short, size=size, 
can_be_none=can_be_none)
-                elif py_type == 'int_or_int_list':
-                    arg_check.is_int_or_int_list(value, desc_short, 
size=size, can_be_none=can_be_none, can_be_empty=can_be_empty, 
none_elements=none_elements)
-                elif py_type == 'list':
-                    arg_check.is_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty, 
list_of_lists=list_of_lists)
-                elif py_type == 'none':
-                    arg_check.is_none(value, desc_short)
-                elif py_type == 'num':
-                    arg_check.is_num(value, desc_short, 
can_be_none=can_be_none)
-                elif py_type == 'num_list':
-                    arg_check.is_num_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
-                elif py_type == 'num_or_num_tuple':
-                    arg_check.is_num_or_num_tuple(value, desc_short, 
size=size, can_be_none=can_be_none, can_be_empty=can_be_empty)
-                elif py_type == 'num_tuple':
-                    arg_check.is_num_tuple(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
-                elif py_type == 'str':
-                    arg_check.is_str(value, desc_short, 
can_be_none=can_be_none)
-                elif py_type == 'str_list':
-                    arg_check.is_str_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty, 
list_of_lists=list_of_lists)
-                elif py_type == 'str_or_inst':
-                    arg_check.is_str_or_inst(value, desc_short, 
can_be_none=can_be_none)
-                elif py_type == 'str_or_num_or_str_num_list':
-                    arg_check.is_str_or_num_or_str_num_list(value, 
desc_short, size=size, can_be_none=can_be_none, can_be_empty=can_be_empty)
-                elif py_type == 'str_or_num_list':
-                    arg_check.is_str_or_num_list(value, desc_short, 
size=size, can_be_none=can_be_none, can_be_empty=can_be_empty)
-                elif py_type == 'str_or_str_list':
-                    arg_check.is_str_or_str_list(value, desc_short, 
size=size, can_be_none=can_be_none, can_be_empty=can_be_empty)
-                elif py_type == 'tuple':
-                    arg_check.is_tuple(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
-                else:
-                    raise RelaxError("The Python object type '%s' is 
unknown." % py_type)
-
-                # Store the value.
-                values.append(value)
+            if name in keys:
+                values.append(uf_kargs[name])
 
             # The default.
             else:
@@ -178,6 +121,66 @@
 
             # Print out.
             print(text)
+
+        # Check the argument values.
+        for i in range(self._karg_num):
+            # Aliases.
+            value = uf_kargs[self._kargs[i]['name']]
+            arg = self._kargs[i]
+            py_type = arg['py_type']
+            desc_short = arg['desc_short']
+            size = arg['size']
+            dim = arg['dim']
+            can_be_none = arg['can_be_none']
+            can_be_empty = arg['can_be_empty']
+            none_elements = arg['none_elements']
+            list_of_lists = arg['list_of_lists']
+
+            # Check if the correct Python object type has been supplied.
+            if py_type == 'bool':
+                arg_check.is_bool(value, desc_short)
+            elif py_type == 'float':
+                arg_check.is_float(value, desc_short, 
can_be_none=can_be_none)
+            elif py_type == 'float_array':
+                arg_check.is_float_array(value, desc_short, size=size, 
can_be_none=can_be_none)
+            elif py_type == 'float_matrix':
+                arg_check.is_float_matrix(value, desc_short, dim=dim, 
can_be_none=can_be_none)
+            elif py_type == 'func':
+                arg_check.is_func(value, desc_short, can_be_none=can_be_none)
+            elif py_type == 'int':
+                arg_check.is_int(value, desc_short, can_be_none=can_be_none)
+            elif py_type == 'int_list':
+                arg_check.is_int(value, desc_short, size=size, 
can_be_none=can_be_none)
+            elif py_type == 'int_or_int_list':
+                arg_check.is_int_or_int_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty, 
none_elements=none_elements)
+            elif py_type == 'list':
+                arg_check.is_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty, 
list_of_lists=list_of_lists)
+            elif py_type == 'none':
+                arg_check.is_none(value, desc_short)
+            elif py_type == 'num':
+                arg_check.is_num(value, desc_short, can_be_none=can_be_none)
+            elif py_type == 'num_list':
+                arg_check.is_num_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
+            elif py_type == 'num_or_num_tuple':
+                arg_check.is_num_or_num_tuple(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
+            elif py_type == 'num_tuple':
+                arg_check.is_num_tuple(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
+            elif py_type == 'str':
+                arg_check.is_str(value, desc_short, can_be_none=can_be_none)
+            elif py_type == 'str_list':
+                arg_check.is_str_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty, 
list_of_lists=list_of_lists)
+            elif py_type == 'str_or_inst':
+                arg_check.is_str_or_inst(value, desc_short, 
can_be_none=can_be_none)
+            elif py_type == 'str_or_num_or_str_num_list':
+                arg_check.is_str_or_num_or_str_num_list(value, desc_short, 
size=size, can_be_none=can_be_none, can_be_empty=can_be_empty)
+            elif py_type == 'str_or_num_list':
+                arg_check.is_str_or_num_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
+            elif py_type == 'str_or_str_list':
+                arg_check.is_str_or_str_list(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
+            elif py_type == 'tuple':
+                arg_check.is_tuple(value, desc_short, size=size, 
can_be_none=can_be_none, can_be_empty=can_be_empty)
+            else:
+                raise RelaxError("The Python object type '%s' is unknown." % 
py_type)
 
         # Execute the functional code.
         self._backend(*new_args, **uf_kargs)




Related Messages


Powered by MHonArc, Updated Sat May 05 22:20:02 2012