From 02ff21b158c76fcd355a74ddb940e1c54fc2d7ed Mon Sep 17 00:00:00 2001 From: jvoisin Date: Wed, 20 Feb 2019 16:28:11 -0800 Subject: Implement epub support --- libmat2/parser_factory.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libmat2/parser_factory.py') 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 @@ +import logging import glob import os import mimetypes @@ -10,6 +11,10 @@ assert Tuple # make pyflakes happy T = TypeVar('T', bound='abstract.AbstractParser') +mimetypes.add_type('application/epub+zip', '.epub') +# EPUB Navigation Control XML File +mimetypes.add_type('application/x-dtbncx+xml', '.ncx') + def __load_all_parsers(): """ Loads every parser in a dynamic way """ @@ -49,6 +54,8 @@ def get_parser(filename: str) -> Tuple[Optional[T], Optional[str]]: if mtype in parser_class.mimetypes: try: return parser_class(filename), mtype - except ValueError: + except ValueError as e: + logging.info("Got an exception when trying to instanciate " + "%s for %s: %s", parser_class, filename, e) return None, mtype return None, mtype -- cgit v1.3