From 1affa0dd18b2f704d3985392a418d06da9f0a426 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 14 Jan 2016 17:42:35 -0600 Subject: [PATCH] Cleanup multithreading, allow running from any dir --- tools/config_validator.py | 43 ++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/tools/config_validator.py b/tools/config_validator.py index c61d2d7a2b..790734101f 100644 --- a/tools/config_validator.py +++ b/tools/config_validator.py @@ -9,12 +9,11 @@ import os import sys import subprocess import timeit -import threading import time ######## GLOBALS ######### -MAINPREFIX = "z" -PREFIX = "ace_" +MAINPREFIX = "Z" +PREFIX = "ACE" ########################## def Fract_Sec(s): @@ -36,7 +35,7 @@ def CheckPBO(p,makePboArgs,errors): makePboArgs, "-@={}\\{}\\addons\\{}".format(MAINPREFIX,PREFIX.rstrip("_"),p), p, - "{}{}.pbo".format(PREFIX,p) + "{}_{}.pbo".format(PREFIX,p) ], stdin=None, input=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True) except subprocess.CalledProcessError as e: print("!! Problem With {} ret {} !!".format(p, e.returncode)) @@ -44,21 +43,21 @@ def CheckPBO(p,makePboArgs,errors): errors.append(p) else: print(" Checked ok {}".format(p)) - return + return -def fullDump(p): +def fullDump(p): try: subprocess.run([ "makepbo", "-PQGs", #Q Lint only - Gs Check external references and show deRap - P dont pause "-@={}\\{}\\addons\\{}".format(MAINPREFIX,PREFIX.rstrip("_"),p), p, - "{}{}.pbo".format(PREFIX,p) + "{}_{}.pbo".format(PREFIX,p) ], stdin=None, input=None, check=True) - except subprocess.CalledProcessError as e: + except subprocess.CalledProcessError as e: input("Press Enter to continue...") - return - + return + def main(argv): print(""" #################### @@ -68,11 +67,13 @@ def main(argv): start_time = timeit.default_timer() - scriptpath = os.path.realpath(__file__) - projectpath = os.path.dirname(os.path.dirname(scriptpath)) - addonspath = os.path.join(projectpath, "addons") + addonspath = os.path.join("P:\\",MAINPREFIX,PREFIX,"addons") - os.chdir(addonspath) + print("Switching to dir: {}".format(addonspath)) + try: + os.chdir(addonspath) + except: + raise Exception("Failed to switch to addon dir on P:") #Q Lint only - G Check external references - P dont pause (Gs) does full derap makePboArgs = "-PQG" @@ -81,27 +82,19 @@ def main(argv): makePboArgs = "-PQ" errors = [] - + for p in os.listdir(addonspath): path = os.path.join(addonspath, p) if not os.path.isdir(path): continue if p[0] == ".": continue - - # t = threading.Thread(target=CheckPBO, args=(p,makePboArgs,errors)) - # t.start() CheckPBO(p,makePboArgs,errors) - # for t in threading.enumerate(): - # if t is threading.currentThread(): - # continue - # t.join() - d,h,m,s = Fract_Sec(timeit.default_timer() - start_time) print("\n# Done with {0} errrors [took: {1:2}h {2:2}m {3:4.5f}s]".format(len(errors),h,m,s)) - + if (len(errors) > 0): if "full" in argv: input("Dumping Full DeRap: Press Enter to continue...") @@ -109,7 +102,7 @@ def main(argv): fullDump(p) else: print("use 'full' arg to show derap") - + ret = len(errors) print("return {}".format(ret)) return ret