From 4d841d18ac6567d66a72429027c3d53779d37846 Mon Sep 17 00:00:00 2001 From: Seblu <sebastien.luttringer@smartjog.com> Date: Mon, 14 Feb 2011 20:16:18 +0100 Subject: [PATCH] update way of saving history and tagdisplay settings --- cccli/cli.py | 2 +- cccli/command/expert.py | 2 +- cccli/command/tagdisplay.py | 5 ++++- cccli/printer.py | 4 ++++ cccli/tagdisplay.py | 4 ++-- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/cccli/cli.py b/cccli/cli.py index b9877e5..418ff90 100644 --- a/cccli/cli.py +++ b/cccli/cli.py @@ -70,7 +70,7 @@ class Cli(object): # parsing self._parse() # save history - self.printer.history.write(self.settings.get("history", "")) + self.printer.history.write(self.settings.get("history", None)) def _connect(self): '''Connect to a cloud control server''' diff --git a/cccli/command/expert.py b/cccli/command/expert.py index 1ed92d2..9ab46be 100644 --- a/cccli/command/expert.py +++ b/cccli/command/expert.py @@ -26,7 +26,7 @@ class Command_expert(Command): c = code.InteractiveConsole(local) c.interact("Use Ctrl+D to go back in CLI. Type dir() to see variables.") finally: - self.printer.history.write(self.cli.settings.get("expert", "")) + self.printer.history.write(self.cli.settings.get("expert", None)) self.printer.history.load(h) diff --git a/cccli/command/tagdisplay.py b/cccli/command/tagdisplay.py index cc0bcd6..884554d 100644 --- a/cccli/command/tagdisplay.py +++ b/cccli/command/tagdisplay.py @@ -107,4 +107,7 @@ class Command_tagdisplay(OptionCommand): del db[tagname] else: db[tagname] = value - self.cli.tagdisplay.save(self.cli.settings.get("tagdisplay", "")) + try: + self.cli.tagdisplay.save(self.cli.settings.get("tagdisplay", None)) + except Exception as e: + raise cmdError(e) diff --git a/cccli/printer.py b/cccli/printer.py index ef36e68..5364d3e 100644 --- a/cccli/printer.py +++ b/cccli/printer.py @@ -198,6 +198,8 @@ class History(object): def read(self, path): '''Load history from a file''' self.clear() + if path is None: + return try: self.readline.read_history_file(path) except IOError: @@ -205,6 +207,8 @@ class History(object): def write(self, path): '''Save history into path''' + if path is None: + return try: self.readline.write_history_file(path) except IOError: diff --git a/cccli/tagdisplay.py b/cccli/tagdisplay.py index 50fced8..aeb624e 100644 --- a/cccli/tagdisplay.py +++ b/cccli/tagdisplay.py @@ -26,7 +26,7 @@ class TagDisplay(object): def load(self, filename): '''load tagdisplay settings from file''' - if os.access(filename, os.R_OK): + if filename is not None: fparser = ConfigParser.RawConfigParser() fparser.read(filename) self.__init__() @@ -41,7 +41,7 @@ class TagDisplay(object): def save(self, filename): '''save tagdisplay settings on file''' - if os.access(filename, os.R_OK or os.W_OK): + if filename is not None: fparser = ConfigParser.RawConfigParser() fparser.read(filename) for n,d in (("type", self.tagtype), ("color", self.tagcolor), -- GitLab