From b1e8c1b07e325426febd7e27030e4f8f6769bcde Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Fri, 9 Jul 2021 15:30:27 -0700 Subject: [PATCH] Appease linter: No global variables --- pinch.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) 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: -- 2.44.1