diff --git a/src/calibre/devices/prs505/driver.py b/src/calibre/devices/prs505/driver.py index f73bdbc44e..3e46e46cde 100644 --- a/src/calibre/devices/prs505/driver.py +++ b/src/calibre/devices/prs505/driver.py @@ -32,9 +32,9 @@ class PRS505(CLI, Device): WINDOWS_CARD_A_MEM = re.compile(r'PRS-505/\S+:MS') WINDOWS_CARD_B_MEM = re.compile(r'PRS-505/\S+:SD') - OSX_MAIN_MEM = re.compile(r'Sony PRS-505/\S+ Media') - OSX_CARD_A_MEM = re.compile(r'Sony PRS-505/\S+:MS Media') - OSX_CARD_B_MEM = re.compile(r'Sony PRS-505/\S+:SD') + OSX_MAIN_MEM = re.compile(r'Sony PRS-505/[^:]+ Media') + OSX_CARD_A_MEM = re.compile(r'Sony PRS-505/[^:]+:MS Media') + OSX_CARD_B_MEM = re.compile(r'Sony PRS-505/[^:]+:SD Media') MAIN_MEMORY_VOLUME_LABEL = 'Sony Reader Main Memory' STORAGE_CARD_VOLUME_LABEL = 'Sony Reader Storage Card' diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 619753d685..d34e8aa676 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -306,11 +306,11 @@ class Device(DeviceConfig, DevicePlugin): break for i, line in enumerate(lines): - if self.check_ioreg_line(line, self.OSX_MAIN_MEM): + if 'main' not in names and self.check_ioreg_line(line, self.OSX_MAIN_MEM): get_dev_node(lines[i+1:], 'main') - if self.check_ioreg_line(line, self.OSX_CARD_A_MEM): + if 'carda' not in names and self.check_ioreg_line(line, self.OSX_CARD_A_MEM): get_dev_node(lines[i+1:], 'carda') - if self.check_ioreg_line(line, self.OSX_CARD_B_MEM): + if 'cardb' not in names and self.check_ioreg_line(line, self.OSX_CARD_B_MEM): get_dev_node(lines[i+1:], 'cardb') if len(names.keys()) == 3: break