Browse Source

gw read: Move split_opts() function into utils module

Keir Fraser 4 years ago
parent
commit
2c095d2444
2 changed files with 16 additions and 16 deletions
  1. 1 16
      scripts/greaseweazle/tools/read.py
  2. 15 0
      scripts/greaseweazle/tools/util.py

+ 1 - 16
scripts/greaseweazle/tools/read.py

@@ -79,21 +79,6 @@ def read_to_image(usb, args, image):
         f.write(image.get_image())
         f.write(image.get_image())
 
 
 
 
-def filename_split_opts(filename):
-    """Splits a filename from its list of options."""
-    parts = filename.split('::')
-    name, opts = parts[0], dict()
-    for x in map(lambda x: x.split(':'), parts[1:]):
-        for y in x:
-            try:
-                opt, val = y.split('=')
-            except ValueError:
-                opt, val = y, True
-            if opt:
-                opts[opt] = val
-    return name, opts
-
-
 def main(argv):
 def main(argv):
 
 
     parser = util.ArgumentParser()
     parser = util.ArgumentParser()
@@ -120,7 +105,7 @@ def main(argv):
     args = parser.parse_args(argv[2:])
     args = parser.parse_args(argv[2:])
     args.nr_sides = 1 if args.single_sided else 2
     args.nr_sides = 1 if args.single_sided else 2
 
 
-    args.file, args.file_opts = filename_split_opts(args.file)
+    args.file, args.file_opts = util.split_opts(args.file)
     
     
     try:
     try:
         usb = util.usb_open(args.device)
         usb = util.usb_open(args.device)

+ 15 - 0
scripts/greaseweazle/tools/util.py

@@ -49,6 +49,21 @@ def drive_letter(letter):
     return types[letter.upper()]
     return types[letter.upper()]
 
 
 
 
+def split_opts(seq):
+    """Splits a name from its list of options."""
+    parts = seq.split('::')
+    name, opts = parts[0], dict()
+    for x in map(lambda x: x.split(':'), parts[1:]):
+        for y in x:
+            try:
+                opt, val = y.split('=')
+            except ValueError:
+                opt, val = y, True
+            if opt:
+                opts[opt] = val
+    return name, opts
+
+
 def get_image_class(name):
 def get_image_class(name):
     image_types = { '.scp': SCP, '.hfe': HFE, '.ipf': IPF }
     image_types = { '.scp': SCP, '.hfe': HFE, '.ipf': IPF }
     _, ext = os.path.splitext(name)
     _, ext = os.path.splitext(name)