mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix SONY driver in linux
This commit is contained in:
parent
6a11da64cc
commit
85f21f629c
@ -6,8 +6,7 @@ __docformat__ = 'restructuredtext en'
|
|||||||
Device driver for the SONY devices
|
Device driver for the SONY devices
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import os
|
import os, time, re
|
||||||
import re
|
|
||||||
|
|
||||||
from calibre.devices.usbms.driver import USBMS
|
from calibre.devices.usbms.driver import USBMS
|
||||||
from calibre.devices.prs505 import MEDIA_XML
|
from calibre.devices.prs505 import MEDIA_XML
|
||||||
@ -66,6 +65,40 @@ class PRS505(USBMS):
|
|||||||
def windows_filter_pnp_id(self, pnp_id):
|
def windows_filter_pnp_id(self, pnp_id):
|
||||||
return '_LAUNCHER' in pnp_id
|
return '_LAUNCHER' in pnp_id
|
||||||
|
|
||||||
|
def open(self):
|
||||||
|
self.report_progress = lambda x, y: x
|
||||||
|
USBMS.open(self)
|
||||||
|
|
||||||
|
def write_cache(prefix):
|
||||||
|
try:
|
||||||
|
cachep = os.path.join(prefix, *(self.CACHE_XML.split('/')))
|
||||||
|
if not os.path.exists(cachep):
|
||||||
|
dname = os.path.dirname(cachep)
|
||||||
|
if not os.path.exists(dname):
|
||||||
|
try:
|
||||||
|
os.makedirs(dname, mode=0777)
|
||||||
|
except:
|
||||||
|
time.sleep(5)
|
||||||
|
os.makedirs(dname, mode=0777)
|
||||||
|
with open(cachep, 'wb') as f:
|
||||||
|
f.write(u'''<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<cache xmlns="http://www.kinoma.com/FskCache/1">
|
||||||
|
</cache>
|
||||||
|
'''.encode('utf8'))
|
||||||
|
return True
|
||||||
|
except:
|
||||||
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
|
return False
|
||||||
|
|
||||||
|
if self._card_a_prefix is not None:
|
||||||
|
if not write_cache(self._card_a_prefix):
|
||||||
|
self._card_a_prefix = None
|
||||||
|
if self._card_b_prefix is not None:
|
||||||
|
if not write_cache(self._card_b_prefix):
|
||||||
|
self._card_b_prefix = None
|
||||||
|
|
||||||
|
|
||||||
def get_device_information(self, end_session=True):
|
def get_device_information(self, end_session=True):
|
||||||
return (self.gui_name, '', '', '')
|
return (self.gui_name, '', '', '')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user