Fix SONY driver in linux

This commit is contained in:
Kovid Goyal 2010-06-05 16:27:31 -06:00
parent 6a11da64cc
commit 85f21f629c

View File

@ -6,8 +6,7 @@ __docformat__ = 'restructuredtext en'
Device driver for the SONY devices
'''
import os
import re
import os, time, re
from calibre.devices.usbms.driver import USBMS
from calibre.devices.prs505 import MEDIA_XML
@ -66,6 +65,40 @@ class PRS505(USBMS):
def windows_filter_pnp_id(self, 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):
return (self.gui_name, '', '', '')