|
@@ -8,15 +8,12 @@
|
|
|
# See the file COPYING for more details, or visit <http://unlicense.org>.
|
|
|
|
|
|
import argparse, os, sys, serial, struct, time
|
|
|
+import importlib
|
|
|
import serial.tools.list_ports
|
|
|
|
|
|
from greaseweazle import version
|
|
|
from greaseweazle import error
|
|
|
from greaseweazle import usb as USB
|
|
|
-from greaseweazle.image.scp import SCP
|
|
|
-from greaseweazle.image.hfe import HFE
|
|
|
-from greaseweazle.image.ipf import IPF
|
|
|
-from greaseweazle.image.adf import ADF
|
|
|
|
|
|
|
|
|
class CmdlineHelpFormatter(argparse.ArgumentDefaultsHelpFormatter):
|
|
@@ -66,11 +63,16 @@ def split_opts(seq):
|
|
|
|
|
|
|
|
|
def get_image_class(name):
|
|
|
- image_types = { '.adf': ADF, '.scp': SCP, '.hfe': HFE, '.ipf': IPF }
|
|
|
+ image_types = { '.adf': 'ADF',
|
|
|
+ '.scp': 'SCP',
|
|
|
+ '.hfe': 'HFE',
|
|
|
+ '.ipf': 'IPF' }
|
|
|
_, ext = os.path.splitext(name)
|
|
|
error.check(ext.lower() in image_types,
|
|
|
"%s: Unrecognised file suffix '%s'" % (name, ext))
|
|
|
- return image_types[ext.lower()]
|
|
|
+ typename = image_types[ext.lower()]
|
|
|
+ mod = importlib.import_module('greaseweazle.image.' + typename.lower())
|
|
|
+ return mod.__dict__[typename]
|
|
|
|
|
|
|
|
|
def with_drive_selected(fn, usb, args, *_args, **_kwargs):
|