1 # -*- encoding: utf-8 -*-
3 __author__ = "Ćukasz Rekucki"
4 __date__ = "$2009-09-20 21:48:03$"
5 __doc__ = "Module documentation."
8 from functools import wraps
9 from piston.emitters import Emitter
10 from piston.utils import rc
14 from wlrepo import MercurialLibrary
17 class TextEmitter(Emitter):
18 def render(self, request):
19 return unicode(self.construct())
21 Emitter.register('text', TextEmitter, 'text/plain; charset=utf-8')
22 Emitter.register('rawxml', TextEmitter, 'application/xml; charset=UTF-8')
24 class DjangoAuth(object):
26 def is_authenticated(self, request):
27 return request.user.is_authenticated()
33 def validate_form(formclass, source='GET'):
37 def decorated(self, request, * args, ** kwargs):
38 form = formclass(getattr(request, source), request.FILES)
40 if not form.is_valid():
41 errorlist = [{'field': k, 'errors': e} for k, e in form.errors.items()]
42 return api.response.BadRequest().django_response(errorlist)
45 return func(self, request, * args, ** kwargs)
51 def decorated(self, *args, **kwargs):
52 l = MercurialLibrary(settings.REPOSITORY_PATH)
54 return func(self, *args, **kwargs)