import api.response
-from wlrepo import MercurialLibrary
+import wlrepo
import settings
class TextEmitter(Emitter):
def render(self, request):
return unicode(self.construct())
-Emitter.register('text', TextEmitter, 'text/plain; charset=utf-8')
-Emitter.register('rawxml', TextEmitter, 'application/xml; charset=UTF-8')
+Emitter.register('raw', TextEmitter, 'text/plain; charset=utf-8')
+Emitter.register('rawhtml', TextEmitter, 'text/html; charset=utf-8')
+Emitter.register('rawxml', TextEmitter, 'application/xml; charset=utf-8')
class DjangoAuth(object):
form = formclass(getattr(request, source), request.FILES)
if not form.is_valid():
- errorlist = [{'field': k, 'errors': e} for k, e in form.errors.items()]
+ errorlist = [{'field': k, 'errors': str(e)} for k, e in form.errors.items()]
return api.response.BadRequest().django_response(errorlist)
kwargs['form'] = form
def hglibrary(func):
@wraps(func)
def decorated(self, *args, **kwargs):
- l = MercurialLibrary(settings.REPOSITORY_PATH)
+ l = wlrepo.open_library(settings.REPOSITORY_PATH, 'hg')
kwargs['lib'] = l
return func(self, *args, **kwargs)
return decorated
-
-
-
+
+
+
+import re
+import locale
+
+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
+
+ return getter