A user encountered a KeyError when clicking the "View Details" icon from an 
older Cuffdiff history item:

File '/galaxy/PRODUCTION/database/compiled_templates/show_params.mako.py', line 
106 in render_body
  __M_writer(unicode( inputs_recursive(tool.inputs, params_objects, depth=1) ))
File '/galaxy/PRODUCTION/database/compiled_templates/show_params.mako.py', line 
33 in inputs_recursive
  return 
render_inputs_recursive(context.locals_(__M_locals),input_params,param_values,depth)
File '/galaxy/PRODUCTION/database/compiled_templates/show_params.mako.py', line 
202 in render_inputs_recursive
__M_writer(unicode(input.value_to_display_text(param_values[input.name], 
trans.app)))
KeyError: 'multiread_correct'


This can be fixed in templates/show_params.mako by checking if the input.name 
key exists in the param_values, surrounding the contents of the for loop with:
    %if input.name in param_values:
    %endif


$ hg diff templates/show_params.mako
diff -r 340438c62171 templates/show_params.mako
--- a/templates/show_params.mako        Wed Nov 14 18:50:20 2012 -0500
+++ b/templates/show_params.mako        Thu Nov 15 08:15:47 2012 -0600
@@ -12,23 +12,25 @@

 <%def name="inputs_recursive( input_params, param_values, depth=1 )">
   %for input_index, input in enumerate( input_params.itervalues() ):
-    %if input.type == "repeat":
-      %for i in range( len(param_values[input.name]) ):
-        ${ inputs_recursive(input.inputs, param_values[input.name][i], 
depth=depth+1) }
-      %endfor
-    %elif input.type == "conditional":
-      <% current_case = param_values[input.name]['__current_case__'] %>
+    %if input.name in param_values:
+      %if input.type == "repeat":
+        %for i in range( len(param_values[input.name]) ):
+          ${ inputs_recursive(input.inputs, param_values[input.name][i], 
depth=depth+1) }
+        %endfor
+      %elif input.type == "conditional":
+        <% current_case = param_values[input.name]['__current_case__'] %>
+          <tr>
+            ${ inputs_recursive_indent( 
text=input.test_param.label,depth=depth )}
+            <!-- Get the value of the current Conditonal parameter -->
+ <td>${input.cases[current_case].value}</td>
+          </tr>
+          ${ inputs_recursive(input.cases[current_case].inputs, 
param_values[input.name], depth=depth+1) }
+      %elif getattr(input, "label", None):
         <tr>
-          ${ inputs_recursive_indent( text=input.test_param.label,depth=depth 
)}
-          <!-- Get the value of the current Conditonal parameter -->
- <td>${input.cases[current_case].value}</td>
+          ${inputs_recursive_indent( text=input.label,depth=depth )}
+ <td>${input.value_to_display_text(param_values[input.name], trans.app)}</td>
         </tr>
-        ${ inputs_recursive(input.cases[current_case].inputs, 
param_values[input.name], depth=depth+1) }
-    %elif getattr(input, "label", None):
-      <tr>
-        ${inputs_recursive_indent( text=input.label,depth=depth )}
- <td>${input.value_to_display_text(param_values[input.name], trans.app)}</td>
-      </tr>
+      %endif
     %endif
   %endfor
 </%def>

___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

 http://lists.bx.psu.edu/

Reply via email to