This commit is contained in:
Kovid Goyal 2013-07-14 15:12:20 +05:30
parent 72d5185347
commit 73536b6421

View File

@ -417,11 +417,15 @@ class LibraryDatabase(object):
return icu_lower(tag) in {icu_lower(x) for x in self.new_api.all_field_names('tags')} return icu_lower(tag) in {icu_lower(x) for x in self.new_api.all_field_names('tags')}
def delete_tag(self, tag): def delete_tag(self, tag):
self.delete_tags((tag,))
def delete_tags(self, tags):
with self.new_api.write_lock: with self.new_api.write_lock:
tag_map = {icu_lower(v):k for k, v in self.new_api._get_id_map('tags').iteritems()} tag_map = {icu_lower(v):k for k, v in self.new_api._get_id_map('tags').iteritems()}
tid = tag_map.get(icu_lower(tag), None) tag_ids = (tag_map.get(icu_lower(tag), None) for tag in tags)
if tid is not None: tag_ids = tuple(tid for tid in tag_ids if tid is not None)
self.new_api._remove_items('tags', (tid,)) if tag_ids:
self.new_api._remove_items('tags', tag_ids)
# Private interface {{{ # Private interface {{{
def __iter__(self): def __iter__(self):