aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Matthijs <axxo@gentoo.org>2005-06-23 11:26:34 +0000
committerThomas Matthijs <axxo@gentoo.org>2005-06-23 11:26:34 +0000
commit1a3867c342684dcff786fc3122d808b824d951f9 (patch)
tree96dc83e8aa19f4af80c75cd19365594d6b629fab /src
parentmake name/file functions actualy work and not get overriden by the string obj... (diff)
downloadjava-config-1a3867c342684dcff786fc3122d808b824d951f9.tar.gz
java-config-1a3867c342684dcff786fc3122d808b824d951f9.tar.bz2
java-config-1a3867c342684dcff786fc3122d808b824d951f9.zip
change how things are displayed a bit
svn path=/java-config-ng/branches/axxo/; revision=225
Diffstat (limited to 'src')
-rwxr-xr-xsrc/java-config33
-rw-r--r--src/java_config/OutputFormatter.py33
2 files changed, 36 insertions, 30 deletions
diff --git a/src/java-config b/src/java-config
index 27e4946..3849565 100755
--- a/src/java-config
+++ b/src/java-config
@@ -90,7 +90,7 @@ def exec_cmd(option, opt, value, parser):
def list_available_packages(option, opt, value, parser):
for package in manager.get_packages():
- printer._print("[%s]\t%s\t(%s)" % (package.name, package.description(), package.file))
+ printer._print("[%s] %s (%s)" % (package.name(), package.description(), package.file()))
def list_available_vms(option, opt, value, parser):
vm_list = manager.get_virtual_machines()
@@ -99,12 +99,12 @@ def list_available_vms(option, opt, value, parser):
for count in iter(vm_list):
vm = vm_list[count]
if vm.active:
- printer._print('%H%G' + '*) %s\t[%s]\t(%s)' % (vm.query('VERSION'),vm.name(),vm.filename()) + '%$')
+ printer._print('%H%G' + '*) %s [%s] (%s)' % (vm.query('VERSION'),vm.name(),vm.filename()) + '%$')
else:
if vm.is_jdk():
- printer._print('%H' + '%i) %s\t[%s]\t(%s)' % (i,vm.query('VERSION'),vm.name(),vm.filename()) + '%$')
+ printer._print('%H' + '%i) %s [%s] (%s)' % (i,vm.query('VERSION'),vm.name(),vm.filename()) + '%$')
else:
- printer._print('%i) %s\t[%s]\t(%s)' % (i,vm.query('VERSION'),vm.name(),vm.filename()) + '%$')
+ printer._print('%i) %s [%s] (%s)' % (i,vm.query('VERSION'),vm.name(),vm.filename()) + '%$')
i += 1
# TODO: FIX THIS!!
@@ -131,7 +131,7 @@ def set_system_vm(option, opt, value, parser):
# Update the profile which contains updates
printer._print(getoutput("/usr/sbin/env-update"))
- printer._printAlert("If you want to use java in your current session, you should update\n\t your environment by running:\n\t %Hsource /etc/profile")
+ warn_update_env()
except PermissionError:
printer._printError("You do not have enough permissions to set the system VM!")
except EnvironmentUndefinedError:
@@ -156,8 +156,7 @@ def set_user_vm(option, opt, value, parser):
else:
try:
manager.set_vm(vm, config_sh, config_csh)
- printer._printAlert("If you want to use java in your current session, you should update\n\t your environment by running:")
- printer._print("\t %Hsource ~/.gentoo/java")
+ warn_update_env()
except PermissionError:
printer._printError("You do not have enough permissions to set the VM!")
@@ -168,8 +167,7 @@ def set_system_classpath(option, opt, value, parser):
if os.getuid() is 0:
manager.set_classpath(env_file, value.split(","))
- printer._printAlert("If you want to use java in your current session, you should update\n\t your environment by running:")
- printer._print("\t %Hsource /etc/profile")
+ warn_update_env()
else:
printer._printError("You do not have enough permissions to set the system classpath!")
@@ -187,8 +185,7 @@ def append_system_classpath(option, opt, value, parser):
manager.append_classpath(env_file, value.split(','))
os.system("env-update")
- printer._printAlert("If you want to use java in your current session, you should update\n\t your environment by running:")
- printer._print("\t %Hsource /etc/profile")
+ warn_update_env()
else:
printer._printError("You do not have enough permissioins to append to the system classpath!")
@@ -198,8 +195,7 @@ def append_user_classpath(option, opt, value, parser):
manager.append_classpath(env_file, value.split(','))
- printer._printAlert("If you want to use java in your current session, you should update\n\t your environment by running:")
- printer._print("\t %Henv-update && source /etc/profile")
+ warn_update_env()
def clean_system_classpath(option, opt, value, parser):
# TODO: MAKE THIS MODULAR!!
@@ -209,8 +205,7 @@ def clean_system_classpath(option, opt, value, parser):
manager.clean_classpath(env_file)
os.system("env-update")
- printer._printAlert("If you want to use java in your current session, you should update\n\t your environment by running:")
- printer._print("\t %Hsource /etc/profile")
+ warn_update_env()
else:
printer._printError("You do not have enough permissions to clean the system classpath!")
@@ -219,9 +214,7 @@ def clean_user_classpath(option, opt, value, parser):
env_file = os.path.join(os.environ.get("HOME"), '.gentoo', 'java-classpath')
manager.clean_classpath(env_file)
-
- printer._printAlert("If you want to use java in your current session, you should update\n\t your environment by running:")
- printer._print("\t %Henv-update && source /etc/profile")
+ warn_update_env()
def library(option, opt, value, parser):
packages = value.split(',')
@@ -232,6 +225,10 @@ def library(option, opt, value, parser):
printer._print(join(library, ':'))
+def warn_update_env():
+ printer._printAlert("If you want to use java in your current session, you should update\nyour environment by running:\nsource /etc/profile")
+
+
if __name__ == '__main__':
global printer, manager
diff --git a/src/java_config/OutputFormatter.py b/src/java_config/OutputFormatter.py
index d083095..2ec7012 100644
--- a/src/java_config/OutputFormatter.py
+++ b/src/java_config/OutputFormatter.py
@@ -27,9 +27,10 @@ class OutputFormatter:
'%': '%' # Percent
}
- def __init__(self, displayColor=True, displayTitle=True):
+ def __init__(self, displayColor=True, displayTitle=True, autoIndent=True):
self.colorOutput = displayColor
self.consoleTitle = displayTitle
+ self.autoIndent = autoIndent
if displayTitle and os.environ.has_key("TERM"):
if os.environ["TERM"] not in [ "xterm", "Eterm", "aterm", "rxvt" ]:
@@ -58,8 +59,16 @@ class OutputFormatter:
if self.consoleTitle:
sys.stderr.write("\x1b]1;\x07\x1b]2;" + str(title) + "\x07")
sys.stderr.flush()
+
+ def __indent(self, prefix, message):
+ if self.autoIndent is True:
+ num = len(prefix)
+ return prefix + message.replace('\n','\n'+' '*num)
- def __parseColor(self, message, stripColors=False):
+ else:
+ return prefix + message
+
+ def __parseColor(self, message):
colored = ''
striped = ''
replace = 0
@@ -81,30 +90,30 @@ class OutputFormatter:
colored += char
striped += char
- if stripColors:
+ if self.colorOutput:
return colored
else:
return striped
def write(self, message):
- print self.__parseColor(message.strip(), self.colorOutput)
+ print self.__parseColor(message.strip())
def _print(self, message):
- print self.__parseColor(message, self.colorOutput)
+ print self.__parseColor(message)
def _printError(self, message):
- message = "%H%R!!! ERROR: " + message + "%$"
- sys.stderr.write(self.__parseColor(message, self.colorOutput) + '\n')
+ message = "%H%R" + self.__indent("!!! ERROR: ", message) + "%$"
+ sys.stderr.write(self.__parseColor(message) + '\n')
def _printWarning(self, message):
- message = "%H%Y!!! WARNING: " + message + "%$"
- sys.stderr.write(self.__parseColor(message, self.colorOutput) + '\n')
+ message = "%H%Y" + self.__indent("!!! WARNING: ", message) + "%$"
+ sys.stderr.write(self.__parseColor(message) + '\n')
def _printAlert(self, message):
- message = "%H%C!!! ALERT: " + message + "%$"
- sys.stderr.write(self.__parseColor(message, self.colorOutput) + '\n')
+ message = "%H%C" + self.__indent("!!! ALERT: ", message) + "%$"
+ sys.stderr.write(self.__parseColor(message) + '\n')
def setTitle(self, message):
- self.__setTitle(self.__parseColor(message, True))
+ self.__setTitle(self.__parseColor(message))
# vim:set expandtab tabstop=3 shiftwidth=3 softtabstop=3: