Be more defensive if the database is missing some data instead of
authorDiane Trout <diane@caltech.edu>
Wed, 12 Sep 2012 18:35:37 +0000 (11:35 -0700)
committerDiane Trout <diane@caltech.edu>
Wed, 12 Sep 2012 18:35:37 +0000 (11:35 -0700)
crasing on trying to access an empty list.

htsworkflow/submission/geo.py

index 6137875b1ad86048b0c08080f6fb947d090e9471..413d2c3ae5e99daa7025a6be3101edb50d96da85 100644 (file)
@@ -31,9 +31,13 @@ class GEOSubmission(Submission):
         for lib_id, result_dir in result_map.items():
             an_analysis = self.get_submission_node(result_dir)
             metadata = self.get_sample_metadata(an_analysis)
-            if len(metadata) > 1:
+            if len(metadata) == 0:
+                errmsg = 'No metadata found for {0}'
+                LOGGER.error(errmsg.format(str(an_analysis),))
+                continue
+            elif len(metadata) > 1:
                 errmsg = 'Confused there are more than one samples for %s'
-                LOGGER.debug(errmsg % (str(an_analysis,)))
+                LOGGER.debug(errmsg % (str(an_analysis),))
             metadata = metadata[0]
             metadata['raw'] = self.get_raw_files(an_analysis)
             metadata['supplimental'] = self.get_sample_files(an_analysis)