This time a 'too-many-branches' error.

Signed-off-by: Helga Velroyen <[email protected]>
---
 tools/cfgupgrade12 | 80 ++++++++++++++++++++++++++++++------------------------
 1 file changed, 45 insertions(+), 35 deletions(-)

diff --git a/tools/cfgupgrade12 b/tools/cfgupgrade12
index 3c23675..a0e6414 100755
--- a/tools/cfgupgrade12
+++ b/tools/cfgupgrade12
@@ -280,16 +280,7 @@ def Disk12To20(drbd_minors, secrets, disk):
       Disk12To20(drbd_minors, secrets, child)
 
 
-def main():
-  """Main program.
-
-  """
-  # pylint: disable=W0603
-  global options, args
-
-  program = os.path.basename(sys.argv[0])
-
-  # Option parsing
+def _ParseOptions():
   parser = optparse.OptionParser(usage="%prog [--debug|--verbose] [--force]")
   parser.add_option("--dry-run", dest="dry_run",
                     action="store_true",
@@ -301,15 +292,52 @@ def main():
   parser.add_option("--path", help="Convert configuration in this"
                     " directory instead of '%s'" % pathutils.DATA_DIR,
                     default=pathutils.DATA_DIR, dest="data_dir")
-  (options, args) = parser.parse_args()
+  return parser.parse_args()
+
 
+def _ComposePaths(oobj):
   # We need to keep filenames locally because they might be renamed between
   # versions.
-  options.data_dir = os.path.abspath(options.data_dir)
-  options.CONFIG_DATA_PATH = options.data_dir + "/config.data"
-  options.SERVER_PEM_PATH = options.data_dir + "/server.pem"
-  options.KNOWN_HOSTS_PATH = options.data_dir + "/known_hosts"
-  options.RAPI_CERT_FILE = options.data_dir + "/rapi.pem"
+  oobj.data_dir = os.path.abspath(oobj.data_dir)
+  oobj.CONFIG_DATA_PATH = oobj.data_dir + "/config.data"
+  oobj.SERVER_PEM_PATH = oobj.data_dir + "/server.pem"
+  oobj.KNOWN_HOSTS_PATH = oobj.data_dir + "/known_hosts"
+  oobj.RAPI_CERT_FILE = oobj.data_dir + "/rapi.pem"
+
+
+def _WriteConfiguration(config_data, known_hosts):
+  try:
+    logging.info("Writing configuration file")
+    WriteFile(options.CONFIG_DATA_PATH, serializer.DumpJson(config_data))
+
+    if known_hosts is not None:
+      logging.info("Writing SSH known_hosts file (%s)", known_hosts.strip())
+      WriteFile(options.KNOWN_HOSTS_PATH, known_hosts)
+
+    if not options.dry_run:
+      if not os.path.exists(options.RAPI_CERT_FILE):
+        logging.debug("Writing RAPI certificate to %s", options.RAPI_CERT_FILE)
+        utils.GenerateSelfSignedSslCert(options.RAPI_CERT_FILE, 1)
+
+  except:
+    logging.critical("Writing configuration failed. It is probably in an"
+                     " inconsistent state and needs manual intervention.")
+    raise
+
+  logging.info("Configuration file updated.")
+
+
+def main():
+  """Main program.
+
+  """
+  # pylint: disable=W0603
+  global options, args
+
+  program = os.path.basename(sys.argv[0])
+
+  (options, args) = _ParseOptions()
+  _ComposePaths(options)
 
   SetupLogging()
 
@@ -394,25 +422,7 @@ def main():
 
     known_hosts = None
 
-  try:
-    logging.info("Writing configuration file")
-    WriteFile(options.CONFIG_DATA_PATH, serializer.DumpJson(config_data))
-
-    if known_hosts is not None:
-      logging.info("Writing SSH known_hosts file (%s)", known_hosts.strip())
-      WriteFile(options.KNOWN_HOSTS_PATH, known_hosts)
-
-    if not options.dry_run:
-      if not os.path.exists(options.RAPI_CERT_FILE):
-        logging.debug("Writing RAPI certificate to %s", options.RAPI_CERT_FILE)
-        utils.GenerateSelfSignedSslCert(options.RAPI_CERT_FILE, 1)
-
-  except:
-    logging.critical("Writing configuration failed. It is probably in an"
-                     " inconsistent state and needs manual intervention.")
-    raise
-
-  logging.info("Configuration file updated.")
+  _WriteConfiguration(config_data, known_hosts)
 
 
 if __name__ == "__main__":
-- 
1.9.1.423.g4596e3a

Reply via email to