mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
...
This commit is contained in:
parent
9b57e80e28
commit
ef48091c23
@ -163,12 +163,13 @@ class CompositeField(OneToOneField):
|
|||||||
|
|
||||||
self._render_cache = {}
|
self._render_cache = {}
|
||||||
self._lock = Lock()
|
self._lock = Lock()
|
||||||
|
self._composite_name = '#' + self.metadata['label']
|
||||||
|
|
||||||
def render_composite(self, book_id, mi):
|
def render_composite(self, book_id, mi):
|
||||||
with self._lock:
|
with self._lock:
|
||||||
ans = self._render_cache.get(book_id, None)
|
ans = self._render_cache.get(book_id, None)
|
||||||
if ans is None:
|
if ans is None:
|
||||||
ans = mi.get('#'+self.metadata['label'])
|
ans = mi.get(self._composite_name)
|
||||||
with self._lock:
|
with self._lock:
|
||||||
self._render_cache[book_id] = ans
|
self._render_cache[book_id] = ans
|
||||||
return ans
|
return ans
|
||||||
@ -186,7 +187,7 @@ class CompositeField(OneToOneField):
|
|||||||
ans = self._render_cache.get(book_id, None)
|
ans = self._render_cache.get(book_id, None)
|
||||||
if ans is None:
|
if ans is None:
|
||||||
mi = get_metadata(book_id)
|
mi = get_metadata(book_id)
|
||||||
ans = mi.get('#'+self.metadata['label'])
|
ans = mi.get(self._composite_name)
|
||||||
with self._lock:
|
with self._lock:
|
||||||
self._render_cache[book_id] = ans
|
self._render_cache[book_id] = ans
|
||||||
return ans
|
return ans
|
||||||
|
@ -25,8 +25,12 @@ def show_stats(path):
|
|||||||
def main():
|
def main():
|
||||||
stats = os.path.join(gettempdir(), 'read_db.stats')
|
stats = os.path.join(gettempdir(), 'read_db.stats')
|
||||||
pr = cProfile.Profile()
|
pr = cProfile.Profile()
|
||||||
|
initdb('~/test library')
|
||||||
|
all_ids = db.new_api.all_book_ids() # noqa
|
||||||
pr.enable()
|
pr.enable()
|
||||||
initdb('~/documents/largelib')
|
for book_id in all_ids:
|
||||||
|
db.new_api._composite_for('#isbn', book_id)
|
||||||
|
db.new_api._composite_for('#formats', book_id)
|
||||||
pr.disable()
|
pr.disable()
|
||||||
pr.dump_stats(stats)
|
pr.dump_stats(stats)
|
||||||
show_stats(stats)
|
show_stats(stats)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user