summaryrefslogtreecommitdiff
path: root/lib/spack/spack/tty.py
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2013-02-13 17:50:44 -0800
committerTodd Gamblin <tgamblin@llnl.gov>2013-02-13 17:50:44 -0800
commitcc76c0f5f9f8021cfb7423a226bd431c00d791ce (patch)
tree44bdf9954ab913a17ca3bd01ec6042fb34a18694 /lib/spack/spack/tty.py
downloadspack-cc76c0f5f9f8021cfb7423a226bd431c00d791ce.tar.gz
spack-cc76c0f5f9f8021cfb7423a226bd431c00d791ce.tar.bz2
spack-cc76c0f5f9f8021cfb7423a226bd431c00d791ce.tar.xz
spack-cc76c0f5f9f8021cfb7423a226bd431c00d791ce.zip
Initial version of spack with one package: cmake
Diffstat (limited to 'lib/spack/spack/tty.py')
-rw-r--r--lib/spack/spack/tty.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/lib/spack/spack/tty.py b/lib/spack/spack/tty.py
new file mode 100644
index 0000000000..b7b27d2e3b
--- /dev/null
+++ b/lib/spack/spack/tty.py
@@ -0,0 +1,63 @@
+import sys
+import spack
+
+indent = " "
+
+def escape(s):
+ """Returns a TTY escape code if stdout is a tty, otherwise empty string"""
+ if sys.stdout.isatty():
+ return "\033[{}m".format(s)
+ return ''
+
+def color(n):
+ return escape("0;{}".format(n))
+
+def bold(n):
+ return escape("1;{}".format(n))
+
+def underline(n):
+ return escape("4;{}".format(n))
+
+blue = bold(34)
+white = bold(39)
+red = bold(31)
+yellow = underline(33)
+green = bold(92)
+gray = bold(30)
+em = underline(39)
+reset = escape(0)
+
+def msg(msg, *args, **kwargs):
+ color = kwargs.get("color", blue)
+ print "{}==>{} {}{}".format(color, white, str(msg), reset)
+ for arg in args: print indent + str(arg)
+
+def verbose(*args):
+ if spack.verbose: msg(*args, color=green)
+
+def debug(*args):
+ if spack.debug: msg(*args, color=red)
+
+def error(msg, *args):
+ print "{}Error{}: {}".format(red, reset, str(msg))
+ for arg in args: print indent + str(arg)
+
+def warn(msg, *args):
+ print "{}Warning{}: {}".format(yellow, reset, str(msg))
+ for arg in args: print indent + str(arg)
+
+def die(msg):
+ error(msg)
+ sys.exit(1)
+
+def pkg(msg):
+ """Outputs a message with a package icon."""
+ import platform
+ from version import Version
+
+ mac_version = platform.mac_ver()[0]
+ if Version(mac_version) >= Version("10.7"):
+ print u"\U0001F4E6" + indent,
+ else:
+ print '[%] ',
+ print msg