diff options
author | Thomas Matthijs <axxo@gentoo.org> | 2005-06-23 11:26:34 +0000 |
---|---|---|
committer | Thomas Matthijs <axxo@gentoo.org> | 2005-06-23 11:26:34 +0000 |
commit | 1a3867c342684dcff786fc3122d808b824d951f9 (patch) | |
tree | 96dc83e8aa19f4af80c75cd19365594d6b629fab /src | |
parent | make name/file functions actualy work and not get overriden by the string obj... (diff) | |
download | java-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-x | src/java-config | 33 | ||||
-rw-r--r-- | src/java_config/OutputFormatter.py | 33 |
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: |