diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2013-02-13 17:50:44 -0800 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2013-02-13 17:50:44 -0800 |
commit | cc76c0f5f9f8021cfb7423a226bd431c00d791ce (patch) | |
tree | 44bdf9954ab913a17ca3bd01ec6042fb34a18694 /lib/spack/spack/tty.py | |
download | spack-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.py | 63 |
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 |