Correctly type hint swallow_and_print_errors decorator

This commit is contained in:
I-Al-Istannen 2020-05-12 21:02:41 +02:00
parent 072c6630bf
commit 03a801eecc
2 changed files with 8 additions and 4 deletions

View File

@ -3,7 +3,7 @@ An error logging decorator.
""" """
import logging import logging
from typing import Any, Callable from typing import Any, Callable, TypeVar, cast
from rich.console import Console from rich.console import Console
@ -19,7 +19,10 @@ class FatalException(Exception):
""" """
def swallow_and_print_errors(function: Callable) -> Callable: TFun = TypeVar('TFun', bound=Callable[..., Any])
def swallow_and_print_errors(function: TFun) -> TFun:
""" """
Decorates a function, swallows all errors, logs them and returns none if one occurred. Decorates a function, swallows all errors, logs them and returns none if one occurred.
""" """
@ -33,4 +36,4 @@ def swallow_and_print_errors(function: Callable) -> Callable:
except Exception as error: except Exception as error:
Console().print_exception() Console().print_exception()
return None return None
return inner return cast(TFun, inner)

View File

@ -2,6 +2,7 @@ import argparse
from pathlib import Path, PurePath from pathlib import Path, PurePath
from PFERD import Pferd from PFERD import Pferd
from PFERD.ilias import IliasDirectoryType
from PFERD.transform import (attempt, do, glob, keep, move, move_dir, from PFERD.transform import (attempt, do, glob, keep, move, move_dir,
optionally, re_move, re_rename) optionally, re_move, re_rename)
@ -48,7 +49,7 @@ tf_ss_2020_pg = attempt(
) )
def df_ss_2020_or1(path: PurePath) -> bool: def df_ss_2020_or1(path: PurePath, _type: IliasDirectoryType) -> bool:
if glob("Tutorien/")(path): if glob("Tutorien/")(path):
return True return True
if glob("Tutorien/Tutorium 10, dienstags 15:45 Uhr/")(path): if glob("Tutorien/Tutorium 10, dienstags 15:45 Uhr/")(path):