From 6a408fb2b0d24bdfbec20eedb5ff9eb8538d80f6 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Mon, 21 Apr 2008 13:22:07 +0000 Subject: [PATCH] Reuse common code between MarkInstance{Up,Down} This patch creates a new method ConfigWriter._SetInstanceStatus that consists of the common code between MarkInstanceUp and MarkInstanceDown. These two methods become wrappers over the _SetInstanceStatus. Reviewed-by: ultrotter --- lib/config.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/config.py b/lib/config.py index 59d72515f..f0e75e446 100644 --- a/lib/config.py +++ b/lib/config.py @@ -305,19 +305,29 @@ class ConfigWriter: self._config_data.instances[instance.name] = instance self._WriteConfig() - def MarkInstanceUp(self, instance_name): - """Mark the instance status to up in the config. + def _SetInstanceStatus(self, instance_name, status): + """Set the instance's status to a given value. """ + if status not in ("up", "down"): + raise errors.ProgrammerError("Invalid status '%s' passed to" + " ConfigWriter._SetInstanceStatus()" % + status) self._OpenConfig() if instance_name not in self._config_data.instances: raise errors.ConfigurationError("Unknown instance '%s'" % instance_name) instance = self._config_data.instances[instance_name] - instance.status = "up" + instance.status = status self._WriteConfig() + def MarkInstanceUp(self, instance_name): + """Mark the instance status to up in the config. + + """ + self._SetInstanceStatus(instance_name, "up") + def RemoveInstance(self, instance_name): """Remove the instance from the configuration. @@ -360,13 +370,7 @@ class ConfigWriter: """Mark the status of an instance to down in the configuration. """ - self._OpenConfig() - - if instance_name not in self._config_data.instances: - raise errors.ConfigurationError("Unknown instance '%s'" % instance_name) - instance = self._config_data.instances[instance_name] - instance.status = "down" - self._WriteConfig() + self._SetInstanceStatus(instance_name, "down") def GetInstanceList(self): """Get the list of instances. -- GitLab