From bbe3a85e8006750d52bd591086c8b196714ef759 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Rekucki?= Date: Fri, 2 Oct 2009 13:41:08 +0200 Subject: [PATCH 1/1] More UTF-8 vs. mercurial vs. os.listdir problems. --- apps/api/handlers/library_handlers.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/api/handlers/library_handlers.py b/apps/api/handlers/library_handlers.py index c5c52564..3c75c81f 100644 --- a/apps/api/handlers/library_handlers.py +++ b/apps/api/handlers/library_handlers.py @@ -242,31 +242,35 @@ class DocumentHTMLHandler(BaseHandler): class DocumentGalleryHandler(BaseHandler): allowed_methods = ('GET') + def read(self, request, docid): """Read meta-data about scans for gallery of this document.""" galleries = [] + from urllib import quote for assoc in GalleryForDocument.objects.filter(document=docid): dirpath = os.path.join(settings.MEDIA_ROOT, assoc.subpath) if not os.path.isdir(dirpath): - log.info(u"[WARNING]: missing gallery %s", dirpath) + log.warn(u"[WARNING]: missing gallery %s", dirpath) continue gallery = {'name': assoc.name, 'pages': []} for file in os.listdir(dirpath): - file = file.decode('utf-8') - - log.info(file) + if not isinstance(file, unicode): + log.warn(u"File %s is gallery %s is not unicode. Ommiting."\ + % (file, dirpath) ) + continue + name, ext = os.path.splitext(os.path.basename(file)) if ext.lower() not in [u'.png', u'.jpeg', u'.jpg']: - log.info("Ignoring: %s %s", name, ext) + log.info(u"Ignoring: %s %s", name, ext) continue url = settings.MEDIA_URL + assoc.subpath + u'/' + file; - gallery['pages'].append(url) + gallery['pages'].append( quote(url.encode('utf-8')) ) gallery['pages'].sort() galleries.append(gallery) -- 2.20.1