From 38fae60b8beaf9c7b37c65325d2d285e62b6cb85 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Fri, 18 May 2018 23:52:40 +0200 Subject: Rename some files to simplify packaging - the `src` folder is now `libmat2` - the `main.py` script is now `mat2.py` --- src/parser_factory.py | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 src/parser_factory.py (limited to 'src/parser_factory.py') diff --git a/src/parser_factory.py b/src/parser_factory.py deleted file mode 100644 index 48616b0..0000000 --- a/src/parser_factory.py +++ /dev/null @@ -1,42 +0,0 @@ -import os -import mimetypes -import importlib -import pkgutil -from typing import TypeVar - -from . import abstract, unsupported_extensions - - -T = TypeVar('T', bound='abstract.AbstractParser') - -# This loads every parser in a dynamic way -for module_loader, name, ispkg in pkgutil.walk_packages('.src'): - if not name.startswith('src.'): - continue - elif name == 'src.abstract': - continue - importlib.import_module(name) - - -def _get_parsers() -> list: - """ Get all our parsers!""" - def __get_parsers(cls): - return cls.__subclasses__() + \ - [g for s in cls.__subclasses__() for g in __get_parsers(s)] - return __get_parsers(abstract.AbstractParser) - - -def get_parser(filename: str) -> (T, str): - mtype, _ = mimetypes.guess_type(filename) - - _, extension = os.path.splitext(filename) - if extension in unsupported_extensions: - return None, mtype - - for c in _get_parsers(): - if mtype in c.mimetypes: - try: - return c(filename), mtype - except ValueError: - return None, mtype - return None, mtype -- cgit v1.3