From 2d8b242e697a08775879fc873578b5f244d4d5cb Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Sun, 3 Sep 2017 16:57:18 +0200 Subject: [PATCH] Fix caching of `get_converters_by_datatype` result --- lib/galaxy/datatypes/registry.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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"""