This commit is contained in:
Kovid Goyal 2015-11-23 20:38:01 +05:30
parent ac0994da7d
commit 455ab662e2

View File

@ -9,6 +9,7 @@ from copy import copy
from collections import namedtuple from collections import namedtuple
from datetime import datetime, time from datetime import datetime, time
from functools import partial from functools import partial
from threading import Lock
from calibre.constants import config_dir from calibre.constants import config_dir
from calibre.db.categories import Tag from calibre.db.categories import Tag
@ -112,15 +113,18 @@ class GroupedSearchTerms(object):
return self.hash return self.hash
_icon_map = None _icon_map = None
_icon_map_lock = Lock()
def icon_map(): def icon_map():
global _icon_map global _icon_map
if _icon_map is None: with _icon_map_lock:
_icon_map = category_icon_map.copy() if _icon_map is None:
custom_icons = JSONConfig('gui').get('tags_browser_category_icons', {}) _icon_map = category_icon_map.copy()
for k, v in custom_icons.iteritems(): custom_icons = JSONConfig('gui').get('tags_browser_category_icons', {})
if os.access(os.path.join(config_dir, 'tb_icons', v), os.R_OK): for k, v in custom_icons.iteritems():
_icon_map[k] = '_' + v if os.access(os.path.join(config_dir, 'tb_icons', v), os.R_OK):
return _icon_map _icon_map[k] = '_' + v
return _icon_map
def categories_settings(query, db): def categories_settings(query, db):
dont_collapse = frozenset(query.get('dont_collapse', '').split(',')) dont_collapse = frozenset(query.get('dont_collapse', '').split(','))