Skip to content

Commit 10fb103

Browse files
committed
fixed up convertible from to include converters from subclasses not superclasses
1 parent f728513 commit 10fb103

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

fileformats/core/fileset.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,6 @@ def get_converters_dict(
660660
@classmethod
661661
def convertible_from(
662662
cls,
663-
include_generic: bool = False,
664663
union_sort_key: ty.Callable[
665664
[ty.Type[DataType]],
666665
ty.Union[SupportsDunderLT, SupportsDunderGT],
@@ -686,12 +685,10 @@ def convertible_from(
686685
cls._import_extras_module()
687686
exclude_subpackages = copy(_excluded_subpackages)
688687
exclude_subpackages.discard(cls.namespace)
689-
for fformat in FileSet.subclasses(exclude=exclude_subpackages):
690-
if issubclass(cls, fformat) and (
691-
fformat.namespace != "generic" or include_generic
692-
):
693-
fformat._import_extras_module()
694-
datatypes.extend(fformat.get_converters_dict().keys())
688+
for subcls in FileSet.subclasses(exclude=exclude_subpackages):
689+
if issubclass(subcls, cls):
690+
subcls._import_extras_module()
691+
datatypes.extend(subcls.get_converters_dict().keys())
695692
if len(datatypes) == 1:
696693
return cls
697694
concrete_datatypes = set()

0 commit comments

Comments
 (0)