IGN:Add switch to calibre-debug to debug device drivers

This commit is contained in:
Kovid Goyal 2009-01-26 11:30:19 -08:00
parent 2823867347
commit fbaca75458

View File

@ -22,6 +22,8 @@ Run an embedded python interpreter.
)
parser.add_option('-c', '--command', help='Run python code.', default=None)
parser.add_option('-e', '--exec-file', default=None, help='Run the python code in file.')
parser.add_option('-d', '--debug-device-driver', default=False, action='store_true',
help='Debug the specified device driver.')
parser.add_option('-g', '--gui', default=False, action='store_true',
help='Run the GUI',)
parser.add_option('--migrate', action='store_true', default=False,
@ -76,6 +78,23 @@ def migrate(old, new):
prefs['library_path'] = os.path.abspath(new)
print 'Database migrated to', os.path.abspath(new)
def debug_device_driver():
from calibre.devices.scanner import DeviceScanner
s = DeviceScanner()
s.scan()
print 'USB devices on system:', repr(s.devices)
from calibre.devices import devices
for dev in devices():
print 'Looking for', dev.__name__
connected = s.is_device_connected(dev)
if connected:
print 'Device Connected:', dev
print 'Trying to open device...'
d = dev()
d.open()
print 'Total space:', d.total_space()
break
def main(args=sys.argv):
opts, args = option_parser().parse_args(args)
@ -91,6 +110,8 @@ def main(args=sys.argv):
elif opts.exec_file:
sys.argv = args[:1]
execfile(opts.exec_file)
elif opts.debug_device_driver:
debug_device_driver()
elif opts.migrate:
if len(args) < 3:
print 'You must specify the path to library1.db and the path to the new library folder'