documents = {}
- for docid in lib.documents():
- docid = docid.decode('utf-8')
+ for docid in lib.documents():
documents[docid] = {
'url': reverse('document_view', args=[docid]),
'name': docid,
__date__ ="$2009-09-17 16:16:54$"
from django.conf.urls.defaults import *
-
from api.resources import *
FORMAT = r"\.(?P<emitter_format>xml|json|yaml)"
NAT_EXPR = re.compile(r'(\d+)', re.LOCALE | re.UNICODE)
def natural_order(get_key=lambda x: x):
- def getter(key):
- key = [int(x) if n%2 else locale.strxfrm(x.encode('utf-8')) for (n,x) in enumerate(NAT_EXPR.split(get_key(key))) ]
- return key
+ def getter(key):
+ nkey = get_key(key)
+ if not isinstance(key, unicode):
+ ukey = key.decode('utf-8')
+ else:
+ ukey = nkey
+
+ parts = enumerate( NAT_EXPR.split(ukey))
+ return [int(x) if n%2 else locale.strxfrm(x.encode('utf-8')) for (n,x) in parts ]
+
return getter