mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix BeBook device detection.
This commit is contained in:
parent
940734ab36
commit
0c3e217e41
@ -1,9 +1,12 @@
|
|||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__copyright__ = '2009, Tijmen Ruizendaal <tijmen at mybebook.com>'
|
__copyright__ = '2009, Tijmen Ruizendaal <tijmen at mybebook.com>'
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Device driver for BeBook
|
Device driver for BeBook
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
from calibre.devices.usbms.driver import USBMS
|
from calibre.devices.usbms.driver import USBMS
|
||||||
|
|
||||||
class BEBOOK(USBMS):
|
class BEBOOK(USBMS):
|
||||||
@ -24,8 +27,8 @@ class BEBOOK(USBMS):
|
|||||||
WINDOWS_MAIN_MEM = 'FILE-STOR_GADGET'
|
WINDOWS_MAIN_MEM = 'FILE-STOR_GADGET'
|
||||||
WINDOWS_CARD_A_MEM = 'FILE-STOR_GADGET'
|
WINDOWS_CARD_A_MEM = 'FILE-STOR_GADGET'
|
||||||
|
|
||||||
OSX_MAIN_MEM = 'BeBook Internal Memory'
|
OSX_MAIN_MEM = 'Linux File-Stor Gadget Media'
|
||||||
OSX_CARD_A_MEM = 'BeBook Storage Card'
|
OSX_CARD_A_MEM = 'Linux File-Stor Gadget Media'
|
||||||
|
|
||||||
MAIN_MEMORY_VOLUME_LABEL = 'BeBook Internal Memory'
|
MAIN_MEMORY_VOLUME_LABEL = 'BeBook Internal Memory'
|
||||||
STORAGE_CARD_VOLUME_LABEL = 'BeBook Storage Card'
|
STORAGE_CARD_VOLUME_LABEL = 'BeBook Storage Card'
|
||||||
@ -43,6 +46,23 @@ class BEBOOK(USBMS):
|
|||||||
|
|
||||||
return drives
|
return drives
|
||||||
|
|
||||||
|
def osx_sort_names(self, names):
|
||||||
|
main = names.get('main', None)
|
||||||
|
card = names.get('carda', None)
|
||||||
|
|
||||||
|
main_num = int(re.findall('\d+', main)[0]) if main else None
|
||||||
|
card_num = int(re.findall('\d+', card)[0]) if card else None
|
||||||
|
|
||||||
|
if card_num is not None and main_num is not None and card_num < main_num:
|
||||||
|
names['main'] = card
|
||||||
|
names['carda'] = main
|
||||||
|
|
||||||
|
if card and not main:
|
||||||
|
names['main'] = card
|
||||||
|
names['carda'] = None
|
||||||
|
|
||||||
|
return names
|
||||||
|
|
||||||
def linux_swap_drives(self, drives):
|
def linux_swap_drives(self, drives):
|
||||||
if len(drives) < 2: return drives
|
if len(drives) < 2: return drives
|
||||||
drives = list(drives)
|
drives = list(drives)
|
||||||
|
@ -265,6 +265,8 @@ class Device(DeviceConfig, DevicePlugin):
|
|||||||
return subprocess.Popen((ioreg+' -w 0 -S -c IOMedia').split(),
|
return subprocess.Popen((ioreg+' -w 0 -S -c IOMedia').split(),
|
||||||
stdout=subprocess.PIPE).communicate()[0]
|
stdout=subprocess.PIPE).communicate()[0]
|
||||||
|
|
||||||
|
def osx_sort_names(self, names):
|
||||||
|
return names
|
||||||
|
|
||||||
def get_osx_mountpoints(self, raw=None):
|
def get_osx_mountpoints(self, raw=None):
|
||||||
raw = self.run_ioreg(raw)
|
raw = self.run_ioreg(raw)
|
||||||
@ -290,7 +292,7 @@ class Device(DeviceConfig, DevicePlugin):
|
|||||||
get_dev_node(lines[i+1:], 'cardb')
|
get_dev_node(lines[i+1:], 'cardb')
|
||||||
if len(names.keys()) == 3:
|
if len(names.keys()) == 3:
|
||||||
break
|
break
|
||||||
return names
|
return self.osx_sort_names(names)
|
||||||
|
|
||||||
def open_osx(self):
|
def open_osx(self):
|
||||||
mount = subprocess.Popen('mount', shell=True, stdout=subprocess.PIPE).stdout.read()
|
mount = subprocess.Popen('mount', shell=True, stdout=subprocess.PIPE).stdout.read()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user