diff options
author | kennyballou <kballou@onyx.boisestate.edu> | 2012-10-26 00:28:28 -0600 |
---|---|---|
committer | kballou <kballou@onyx.boisestate.edu> | 2012-10-26 00:28:28 -0600 |
commit | 0739e1cbff444b1c15b58b2fbba98900c8766700 (patch) | |
tree | d623c954b964f261464e379231a4fda03e0640ac /xnt/xenant.py | |
parent | 1a275117ca0f10a8efa6a80291eaf3c912924d49 (diff) | |
download | xnt-0739e1cbff444b1c15b58b2fbba98900c8766700.tar.gz xnt-0739e1cbff444b1c15b58b2fbba98900c8766700.tar.xz |
Refactor xnt.xenant
Attempting to remove some duplicate code
Diffstat (limited to 'xnt/xenant.py')
-rw-r--r-- | xnt/xenant.py | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/xnt/xenant.py b/xnt/xenant.py index 1d7c670..dee9fb5 100644 --- a/xnt/xenant.py +++ b/xnt/xenant.py @@ -33,24 +33,16 @@ def main(): elif arg == "help": printVersion() print("\n") - printTargets() + printTargets(__loadBuild()) elif arg == "-v": logging.getLogger("xnt.tasks").setLevel(logging.INFO) - elif arg: - target = arg - invokeBuild(target) - elif not arg: - target = "default" - invokeBuild(target) + else: + invokeBuild(__loadBuild(), arg if arg else "default") from xnt.tasks import rm rm("build.pyc") -def invokeBuild(targetName): - if not os.path.exists("build.py"): - logger.error("There was no build file") - sys.exit(1) +def invokeBuild(build, targetName): try: - build = __import__("build", fromlist=[]) target = getattr(build, targetName) target() except AttributeError: @@ -62,12 +54,8 @@ def printVersion(): import xnt print(xnt.__version__) -def printTargets(): - if not os.path.exists("build.py"): - logger.error("There was no build file") - sys.exit(1) +def printTargets(build): try: - build = __import__("build", fromlist=[]) for f in dir(build): try: fa = getattr(build, f) @@ -78,10 +66,18 @@ def printTargets(): print("\n") except AttributeError: pass - except AttributeError: - pass except: logger.error(sys.exc_info()[1].message) +def __loadBuild(): + if not os.path.exists("build.py"): + logger.error("There was no build file") + sys.exit(1) + try: + return __import__("build", fromlist=[]) + except ImportError: + logger.error("HOW?!") + return None + if __name__ == "__main__": main() |