From: Scott Worley Date: Fri, 9 Jul 2021 22:30:27 +0000 (-0700) Subject: Appease linter: No global variables X-Git-Tag: v3.0.5~4 X-Git-Url: http://git.scottworley.com/pinch/commitdiff_plain/b1e8c1b07e325426febd7e27030e4f8f6769bcde?ds=inline;hp=ffe4974c09bb1fd7e559a0caf4109c260cb67a79 Appease linter: No global variables --- diff --git a/pinch.py b/pinch.py index c26070b..9555d74 100644 --- a/pinch.py +++ b/pinch.py @@ -302,18 +302,17 @@ def digest_file(filename: str) -> Digest16: return Digest16(hasher.hexdigest()) -_experimental_flag_needed = None +@functools.lru_cache +def _experimental_flag_needed(v: Verification) -> bool: + v.status('Checking Nix version') + process = subprocess.run(['nix', '--help'], stdout=subprocess.PIPE) + v.result(process.returncode == 0) + return b'--experimental-features' in process.stdout def _nix_command(v: Verification) -> List[str]: - global _experimental_flag_needed - if _experimental_flag_needed is None: - v.status('Checking Nix version') - process = subprocess.run(['nix', '--help'], stdout=subprocess.PIPE) - v.result(process.returncode == 0) - _experimental_flag_needed = b'--experimental-features' in process.stdout return ['nix', '--experimental-features', - 'nix-command'] if _experimental_flag_needed else ['nix'] + 'nix-command'] if _experimental_flag_needed(v) else ['nix'] def to_Digest16(v: Verification, digest32: Digest32) -> Digest16: