summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <baker.dylan.c@gmail.com>2014-07-09 15:06:50 -0700
committerKenneth Graunke <kenneth@whitecape.org>2014-07-13 23:31:20 -0700
commitd6fcb98e1a6f99610db13feb8a794e4205fcc876 (patch)
tree9560a816a193d5e06c0891e6a28e3be89af1f706
parent7ea8577a4124e3a354e53a013fbc221521069f0c (diff)
run.py: use argparse instead of getopt
argparse.ArgumentParser() is a modern way of parser argument in python, it's object oriented, clean, and provides lots of nice features. Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-rwxr-xr-xrun.py37
1 files changed, 10 insertions, 27 deletions
diff --git a/run.py b/run.py
index e202b71..332c91d 100755
--- a/run.py
+++ b/run.py
@@ -1,26 +1,15 @@
#!/usr/bin/env python3
-from getopt import getopt, GetoptError
import re
import sys
import os
import time
+import argparse
import subprocess
from concurrent.futures import ThreadPoolExecutor
from multiprocessing import cpu_count
-def usage():
- USAGE = """\
-Usage: %(progName)s <dir | shader.shader_test | shader.frag | shader.vert>...
-
-Options:
- -h, --help Show this message
-"""
- print(USAGE % {'progName': sys.argv[0]})
- sys.exit(1)
-
-
def process_directories(dirpath):
filenames = set()
if os.path.isdir(dirpath):
@@ -110,13 +99,14 @@ def run_test(filename):
def main():
- try:
- option_list = [
- "help",
- ]
- options, args = getopt(sys.argv[1:], "h", option_list)
- except GetoptError:
- usage()
+ parser = argparse.ArgumentParser()
+ parser.add_argument("shader",
+ nargs='*',
+ default=['shaders'],
+ metavar="<shader_file | shader dir>",
+ help="A shader file or directory containing shader "
+ "files. Defaults to 'shaders/'")
+ args = parser.parse_args()
env_add = {}
env_add["shader_precompile"] = "true"
@@ -125,13 +115,6 @@ def main():
os.environ.update(env_add)
- for name, value in options:
- if name in ('-h', '--help'):
- usage()
-
- if len(args) < 1:
- args.append("shaders")
-
try:
os.stat("bin/glslparsertest")
except:
@@ -141,7 +124,7 @@ def main():
runtimebefore = time.time()
filenames = set()
- for i in args:
+ for i in args.shader:
filenames.update(process_directories(i))
executor = ThreadPoolExecutor(cpu_count())