def do_depend(self, params): if params: for param in shlex.split(params): if param not in self.client_prog_inst.install_definitions_index: print(text_with_color(param, 'green'), "not in index") continue depend_list = unique_list() self.client_prog_inst.needs(param, depend_list) if not depend_list: depend_list = ("no one",) depend_text_list = list() for depend in depend_list: if depend.endswith("(missing)"): depend_text_list.append(text_with_color(depend, 'red')) else: depend_text_list.append(text_with_color(depend, 'yellow')) print (text_with_color(param, 'green'), "needs:\n ", ", ".join(depend_text_list)) needed_by_list = self.client_prog_inst.needed_by(param) if needed_by_list is None: print("could not get needed by list for", text_with_color(param, 'green')) else: if not needed_by_list: needed_by_list = ("no one",) needed_by_list = [text_with_color(needed_by, 'yellow') for needed_by in needed_by_list] print (text_with_color(param, 'green'), "needed by:\n ", ", ".join(needed_by_list)) return False
def compact_history(): if hasattr(readline, "replace_history_item"): unique_history = unique_list() for index in reversed(range(1, readline.get_current_history_length())): hist_item = readline.get_history_item(index) if hist_item: # some history items are None (usually at index 0) unique_history.append(readline.get_history_item(index)) unique_history.reverse() for index in range(len(unique_history)): readline.replace_history_item(index+1, unique_history[index]) for index in reversed(range(len(unique_history)+1, readline.get_current_history_length())): readline.remove_history_item(index)