This commit is contained in:
Kovid Goyal 2011-07-15 09:33:24 -06:00
parent 3b14bdae85
commit 625449de9a
2 changed files with 11 additions and 8 deletions

View File

@ -299,8 +299,8 @@ class Cache(object):
return mi return mi
@api @api
def cover(self, book_id, as_file=False, as_image=False, def cover(self, book_id,
as_path=False): as_file=False, as_image=False, as_path=False):
''' '''
Return the cover image or None. By default, returns the cover as a Return the cover image or None. By default, returns the cover as a
bytestring. bytestring.

View File

@ -13,6 +13,7 @@ class View(object):
def __init__(self, cache): def __init__(self, cache):
self.cache = cache self.cache = cache
self.marked_ids = {}
self._field_getters = {} self._field_getters = {}
for col, idx in cache.backend.FIELD_MAP.iteritems(): for col, idx in cache.backend.FIELD_MAP.iteritems():
if isinstance(col, int): if isinstance(col, int):
@ -26,7 +27,7 @@ class View(object):
'id' : self._get_id, 'id' : self._get_id,
'au_map' : self.get_author_data, 'au_map' : self.get_author_data,
'ondevice': self.get_ondevice, 'ondevice': self.get_ondevice,
'marked' : self.get_is_marked, 'marked' : self.get_marked,
}[col] }[col]
except KeyError: except KeyError:
self._field_getters[idx] = partial(self.get, col) self._field_getters[idx] = partial(self.get, col)
@ -47,17 +48,19 @@ class View(object):
return getter(row, index_is_id=index_is_id) return getter(row, index_is_id=index_is_id)
def index_to_id(self, idx): def index_to_id(self, idx):
pass return self._map_filtered[idx]
def get(self, field, idx, index_is_id=True, default_value=None): def get(self, field, idx, index_is_id=True, default_value=None):
id_ = idx if index_is_id else self.index_to_id(idx) id_ = idx if index_is_id else self.index_to_id(idx)
return self.cache.field_for(field, id_) return self.cache.field_for(field, id_)
def get_ondevice(self, idx, index_is_id=True, default_value=False): def get_ondevice(self, idx, index_is_id=True, default_value=''):
pass id_ = idx if index_is_id else self.index_to_id(idx)
self.cache.field_for('ondevice', id_, default_value=default_value)
def get_is_marked(self, idx, index_is_id=True, default_value=False): def get_marked(self, idx, index_is_id=True, default_value=None):
pass id_ = idx if index_is_id else self.index_to_id(idx)
return self.marked_ids.get(id_, default_value)
def get_author_data(self, idx, index_is_id=True, default_value=()): def get_author_data(self, idx, index_is_id=True, default_value=()):
''' '''