summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2018-11-22 08:08:38 -0500
committerNed Batchelder <ned@nedbatchelder.com>2018-11-25 14:35:11 -0500
commita96ea1506813f5eefe6bc7a2fa1b8e1a323a1a7f (patch)
tree3c1ad27cacabdcbfefbe151e08ec8016e9302395
parentb7e0eec3d794ee350f8a4392a0c9cc90fff54fa0 (diff)
downloadpython-coveragepy-git-a96ea1506813f5eefe6bc7a2fa1b8e1a323a1a7f.tar.gz
A little more niceness for set_env.py
-rwxr-xr-xlab/set_env.py40
1 files changed, 25 insertions, 15 deletions
diff --git a/lab/set_env.py b/lab/set_env.py
index c87fa48a..fe0a4d49 100755
--- a/lab/set_env.py
+++ b/lab/set_env.py
@@ -12,24 +12,28 @@ import os
import re
import sys
+# Some other environment variables that could be useful:
+# $set_env.py: PYTEST_ADDOPTS - Extra arguments to pytest.
+
pstderr = functools.partial(print, file=sys.stderr)
SETTINGS = []
-line_pattern = r"\$set_env.py: (\w+) - (.*)"
-globs = "*/*.py *.py"
-
-filenames = itertools.chain.from_iterable(glob.glob(g) for g in globs.split())
-files = 0
-for filename in filenames:
- files += 1
- with open(filename) as f:
- for line in f:
- m = re.search(line_pattern, line)
- if m:
- SETTINGS.append(m.groups())
-pstderr("Read {} files".format(files))
+def find_settings():
+ line_pattern = r"\$set_env.py: (\w+) - (.*)"
+ globs = "*/*.py *.py"
+ filenames = itertools.chain.from_iterable(glob.glob(g) for g in globs.split())
+ files = 0
+ for filename in filenames:
+ files += 1
+ with open(filename) as f:
+ for line in f:
+ m = re.search(line_pattern, line)
+ if m:
+ SETTINGS.append(m.groups())
+ SETTINGS.sort()
+ pstderr("Read {} files".format(files))
def read_them():
values = {}
@@ -52,7 +56,8 @@ def set_by_num(values, n, value):
setting_name = SETTINGS[int(n)-1][0]
values[setting_name] = value
-PROMPT = "(<N> val | x <N> | q) ::> "
+PROMPT = "(# value | x # | q) ::> "
+
def get_new_values(values):
show = True
while True:
@@ -108,4 +113,9 @@ def as_exports(values):
exports.append("export {}={!r}".format(name, value))
return "eval " + "; ".join(exports)
-print(as_exports(get_new_values(read_them())))
+def main():
+ find_settings()
+ print(as_exports(get_new_values(read_them())))
+
+if __name__ == '__main__':
+ main()