summaryrefslogtreecommitdiff
path: root/src/parser_factory.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser_factory.py')
-rw-r--r--src/parser_factory.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/parser_factory.py b/src/parser_factory.py
index 7fd42d7..770f17c 100644
--- a/src/parser_factory.py
+++ b/src/parser_factory.py
@@ -18,7 +18,10 @@ for module_loader, name, ispkg in pkgutil.walk_packages('.src'):
18 18
19def get_parser(filename: str) -> (T, str): 19def get_parser(filename: str) -> (T, str):
20 mtype, _ = mimetypes.guess_type(filename) 20 mtype, _ = mimetypes.guess_type(filename)
21 for c in abstract.AbstractParser.__subclasses__(): 21 def get_subclasses(cls):
22 return cls.__subclasses__() + \
23 [g for s in cls.__subclasses__() for g in get_subclasses(s)]
24 for c in get_subclasses(abstract.AbstractParser):
22 if mtype in c.mimetypes: 25 if mtype in c.mimetypes:
23 return c(filename), mtype 26 return c(filename), mtype
24 return None, mtype 27 return None, mtype