Loading really old run xml files caused the website to crash
[htsworkflow.git] / htsworkflow / pipelines / eland.py
index bd6864e984ce3328534611ebf427b906f5bc0e6a..2e0d9dce3a907f97974c13a7f3edf49b07b85bd8 100644 (file)
@@ -8,7 +8,7 @@ import os
 import re
 import stat
 
-from htsworkflow.pipelines.runfolder import ElementTree
+from htsworkflow.pipelines.runfolder import ElementTree, LANE_LIST
 from htsworkflow.util.ethelp import indent, flatten
 from htsworkflow.util.opener import autoopen
 
@@ -84,7 +84,7 @@ class ElandLane(ResultLane):
     LANE = "ElandLane"
 
     def __init__(self, pathname=None, lane_id=None, end=None, genome_map=None, eland_type=None, xml=None):
-        super(ElandLane, self).__init__(pathname, lane_id, xml)
+        super(ElandLane, self).__init__(pathname, lane_id, end)
 
         self._mapped_reads = None
         self._match_codes = None
@@ -423,7 +423,6 @@ class SequenceLane(ResultLane):
                 self._reads = int(element.text)
             elif tag == SequenceLane.SEQUENCE_TYPE.lower():
                 self.sequence_type = lookup_sequence_type.get(element.text, None)
-                print self.sequence_type
             else:
                 logging.warn("SequenceLane unrecognized tag %s" % (element.tag,))
 
@@ -445,6 +444,12 @@ class ELAND(object):
         if xml is not None:
             self.set_elements(xml)
 
+        if len(self.results[0]) == 0:
+            # Initialize our eland object with meaningless junk
+            for l in  LANE_LIST:
+                self.results[0][l] = ResultLane(lane_id=l, end=0)
+
+
     def get_elements(self):
         root = ElementTree.Element(ELAND.ELAND,
                                    {'version': unicode(ELAND.XML_VERSION)})