diff --git a/lib/galaxy/datatypes/registry.py b/lib/galaxy/datatypes/registry.py index 7a1629a0579..dd46b56626d 100644 --- a/lib/galaxy/datatypes/registry.py +++ b/lib/galaxy/datatypes/registry.py @@ -75,7 +75,7 @@ class Registry(object): self.xml_filename = None self._edam_formats_mapping = None self._edam_data_mapping = None - self._converters_by_datatype = None + self._converters_by_datatype = {} # Build sites self.build_sites = {} self.display_sites = {} @@ -798,7 +798,7 @@ class Registry(object): def get_converters_by_datatype(self, ext): """Returns available converters by source type""" - if not self._converters_by_datatype: + if ext not in self._converters_by_datatype: converters = odict() source_datatype = type(self.get_datatype_by_extension(ext)) for ext2, converters_dict in self.datatype_converters.items(): @@ -808,8 +808,8 @@ class Registry(object): # Ensure ext-level converters are present if ext in self.datatype_converters.keys(): converters.update(self.datatype_converters[ext]) - self._converters_by_datatype = converters - return self._converters_by_datatype + self._converters_by_datatype[ext] = converters + return self._converters_by_datatype[ext] def get_converter_by_target_type(self, source_ext, target_ext): """Returns a converter based on source and target datatypes"""