From f15011a815c6b7f3251ade9bdef29b0a07c6609f Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sun, 19 Feb 2012 08:56:56 +0100 Subject: [PATCH] Change tag browser ordering back to use a lambda, because get does not call "__missing__". Slight cosmetic changes. --- src/calibre/gui2/tag_browser/model.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py index 89b42950e0..9c73c20bed 100644 --- a/src/calibre/gui2/tag_browser/model.py +++ b/src/calibre/gui2/tag_browser/model.py @@ -11,6 +11,7 @@ __docformat__ = 'restructuredtext en' import traceback, cPickle, copy from itertools import repeat from collections import defaultdict +from functools import partial from PyQt4.Qt import (QAbstractItemModel, QIcon, QVariant, QFont, Qt, QMimeData, QModelIndex, pyqtSignal, QObject) @@ -832,11 +833,9 @@ class TagsModel(QAbstractItemModel): # {{{ if lower(t.name).find(self.filter_categories_by) >= 0] tb_categories = self.db.field_metadata - y = tweaks['tag_browser_category_order'] - deforder = y.get('*', 100) - order = defaultdict(lambda : deforder) - order.update(y) - tb_keys = sorted(tb_categories.iterkeys(), key=order.get) + order = tweaks['tag_browser_category_order'] + defvalue = order.get('*', 100) + tb_keys = sorted(tb_categories.keys(), key=lambda x: order.get(x, defvalue)) for category in tb_keys: if category in data: # The search category can come and go self.row_map.append(category)