summaryrefslogtreecommitdiff
path: root/libmat2/parser_factory.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmat2/parser_factory.py')
-rw-r--r--libmat2/parser_factory.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/libmat2/parser_factory.py b/libmat2/parser_factory.py
index 30c3b52..e93ee4f 100644
--- a/libmat2/parser_factory.py
+++ b/libmat2/parser_factory.py
@@ -1,3 +1,4 @@
1import logging
1import glob 2import glob
2import os 3import os
3import mimetypes 4import mimetypes
@@ -10,6 +11,10 @@ assert Tuple # make pyflakes happy
10 11
11T = TypeVar('T', bound='abstract.AbstractParser') 12T = TypeVar('T', bound='abstract.AbstractParser')
12 13
14mimetypes.add_type('application/epub+zip', '.epub')
15# EPUB Navigation Control XML File
16mimetypes.add_type('application/x-dtbncx+xml', '.ncx')
17
13 18
14def __load_all_parsers(): 19def __load_all_parsers():
15 """ Loads every parser in a dynamic way """ 20 """ Loads every parser in a dynamic way """
@@ -49,6 +54,8 @@ def get_parser(filename: str) -> Tuple[Optional[T], Optional[str]]:
49 if mtype in parser_class.mimetypes: 54 if mtype in parser_class.mimetypes:
50 try: 55 try:
51 return parser_class(filename), mtype 56 return parser_class(filename), mtype
52 except ValueError: 57 except ValueError as e:
58 logging.info("Got an exception when trying to instanciate "
59 "%s for %s: %s", parser_class, filename, e)
53 return None, mtype 60 return None, mtype
54 return None, mtype 61 return None, mtype