From 1fb22c69afcc1dcc7b8b290c624c27f3f299cd2b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 29 Aug 2011 20:12:07 -0600 Subject: [PATCH] Fix #835238 (Private bug) --- src/calibre/library/server/browse.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index 3329093e8e..e4c21e4ed9 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -498,7 +498,8 @@ class BrowseServer(object): xml(s, True), xml(_('Loading, please wait'))+'…', unicode(c), - xml(u'/browse/category_group/%s/%s'%(category, s), True), + xml(u'/browse/category_group/%s/%s'%(category, + hexlify(s.encode('utf-8'))), True), self.opts.url_prefix) for s, c in category_groups.items()] items = '\n\n'.join(items) @@ -538,7 +539,11 @@ class BrowseServer(object): category_meta = self.db.field_metadata datatype = category_meta[category]['datatype'] - if not group: + try: + group = unhexlify(group) + if isbytestring(group): + group = group.decode('utf-8') + except: raise cherrypy.HTTPError(404, 'invalid group') items = categories[category]