Kaynağa Gözat

Simplify get_conf_options

Break down the long and complex function to smaller
and more testable units
oz123 11 yıl önce
ebeveyn
işleme
4649a49c01
1 değiştirilmiş dosya ile 20 ekleme ve 3 silme
  1. 20 3
      scripts/pwman3

+ 20 - 3
scripts/pwman3

@@ -73,9 +73,9 @@ def parser_options():
     return parser
 
 
-def get_conf_options(args, OSX):
-
+def get_conf():
     config_dir = os.path.expanduser("~/.pwman")
+
     if not os.path.isdir(config_dir):
         os.mkdir(config_dir)
 
@@ -83,8 +83,11 @@ def get_conf_options(args, OSX):
         config.set_defaults(default_config)
     else:
         config.load(args.cfile)
-        xselpath = config.get_value("Global", "xselpath")
 
+    return config
+
+
+def set_xsel(config):
     if not OSX:
         xselpath = which("xsel")
         config.set_value("Global", "xsel", xselpath)
@@ -92,6 +95,8 @@ def get_conf_options(args, OSX):
         pbcopypath = which("pbcopy")
         config.set_value("Global", "xsel", pbcopypath)
 
+
+def set_win_colors(config):
     if 'win' in sys.platform:
         try:
             import colorama
@@ -99,6 +104,18 @@ def get_conf_options(args, OSX):
         except ImportError:
             config.set_value("Global", "colors", 'no')
 
+
+def get_conf_options(args, OSX):
+
+    global _saveconfig
+    config = get_conf()
+
+    xselpath = config.get_value("Global", "xselpath")
+    if not xselpath:
+        set_xsel(config)
+
+    set_win_colors(config)
+
     if args.dbase:
         config.set_value("Database", "filename", args.dbase)
         _saveconfig = False