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.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/parser_factory.py b/src/parser_factory.py
new file mode 100644
index 0000000..a93595a
--- /dev/null
+++ b/src/parser_factory.py
@@ -0,0 +1,10 @@
1import mimetypes
2
3from .parsers import abstract
4from .parsers import *
5
6def get_parser(filename: str):
7 mtype, _ = mimetypes.guess_type(filename)
8 for c in abstract.AbstractParser.__subclasses__():
9 if mtype in c.mimetypes:
10 return c(filename)