From 6a1b0b31f0fbfa59a78a8b9f4f07bf9ed3f91cdf Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 4 Jun 2018 22:54:01 +0200 Subject: Add more typing and use mypy in the CI --- libmat2/parser_factory.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'libmat2/parser_factory.py') diff --git a/libmat2/parser_factory.py b/libmat2/parser_factory.py index 2f6acc1..42d20de 100644 --- a/libmat2/parser_factory.py +++ b/libmat2/parser_factory.py @@ -2,10 +2,12 @@ import glob import os import mimetypes import importlib -from typing import TypeVar, List +from typing import TypeVar, List, Tuple, Optional from . import abstract, unsupported_extensions +assert Tuple # make pyflakes happy + T = TypeVar('T', bound='abstract.AbstractParser') def __load_all_parsers(): @@ -28,14 +30,14 @@ def _get_parsers() -> List[T]: return __get_parsers(abstract.AbstractParser) -def get_parser(filename: str) -> (T, str): +def get_parser(filename: str) -> Tuple[Optional[T], Optional[str]]: mtype, _ = mimetypes.guess_type(filename) _, extension = os.path.splitext(filename) if extension in unsupported_extensions: return None, mtype - for c in _get_parsers(): + for c in _get_parsers(): # type: ignore if mtype in c.mimetypes: try: return c(filename), mtype -- cgit v1.3