summaryrefslogtreecommitdiff
path: root/xnt/xenant.py
diff options
context:
space:
mode:
authorkennyballou <kballou@onyx.boisestate.edu>2012-10-26 00:28:28 -0600
committerkballou <kballou@onyx.boisestate.edu>2012-10-26 00:28:28 -0600
commit0739e1cbff444b1c15b58b2fbba98900c8766700 (patch)
treed623c954b964f261464e379231a4fda03e0640ac /xnt/xenant.py
parent1a275117ca0f10a8efa6a80291eaf3c912924d49 (diff)
downloadxnt-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.py34
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()