From 8fc809d03920e8e1215ea4b1e2e079fd9f6ac546 Mon Sep 17 00:00:00 2001 From: Melody Horn Date: Thu, 25 Mar 2021 18:56:31 -0600 Subject: start using mypy in strict mode --- yapymake/args.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'yapymake/args.py') diff --git a/yapymake/args.py b/yapymake/args.py index 2252855..3f9d842 100644 --- a/yapymake/args.py +++ b/yapymake/args.py @@ -1,9 +1,8 @@ import argparse from dataclasses import dataclass -import io import os import sys -from typing import List, TextIO +from typing import List, Optional, TextIO from . import DESCRIPTION, VERSION @@ -95,21 +94,25 @@ class Args: self.touch = parsed_args.touch self.targets_or_macros = parsed_args.targets_or_macros -def parse(cli_args: List[str] = None, env_makeflags: str = None) -> Args: +def parse(cli_args: Optional[List[str]] = None, env_makeflags: Optional[str] = None) -> Args: if cli_args is None: - cli_args = sys.argv[1:] + real_cli_args = sys.argv[1:] + else: + real_cli_args = cli_args if env_makeflags is None: - env_makeflags = os.environ.get('MAKEFLAGS', '') + real_env_makeflags = os.environ.get('MAKEFLAGS', '') + else: + real_env_makeflags = env_makeflags # per POSIX, we accept option letters without a leading -, so to simplify we prepend a - now # TODO allow macro definitions in MAKEFLAGS - if len(env_makeflags) > 0 and not env_makeflags.startswith('-'): - env_makeflags = '-' + env_makeflags + if len(real_env_makeflags) > 0 and not real_env_makeflags.startswith('-'): + real_env_makeflags = '-' + real_env_makeflags - if len(env_makeflags) > 0: - all_args = [env_makeflags, *cli_args] + if len(real_env_makeflags) > 0: + all_args = [real_env_makeflags, *real_cli_args] else: - all_args = cli_args + all_args = real_cli_args return Args(parser.parse_args(all_args)) -- cgit v1.2.3