예제 #1
0
    def clean_key(self):
        self.key = self.params.get('Key', None)
        if self.key is None:
            raise UnauthorizedError()

        try:
            self.user = PipUsers.objects.get(Token=self.key)
            LocalUserMiddleware.update(user=self.user)
        except PipUsers.DoesNotExist:
            raise UnauthorizedError()
예제 #2
0
    def clean_timezone(self):
        param_name = 'tz'

        if param_name not in self.params:
            raise ParameterExpected(parameter=param_name)

        timezone = self.params[param_name]
        try:
            user_timezone = pytz.timezone(timezone)
            user_now = TimeUtils.get_utc_now_as_local(user_timezone)

            LocalUserMiddleware.update(user_timezone=user_timezone,
                                       user_now=user_now)

        except pytz.exceptions.UnknownTimeZoneError:
            raise BadRequest(message='Unknown timezone.')
예제 #3
0
    def process(self, request, *args, **kwargs):
        self.params = request.GET or request.POST or {}
        LocalUserMiddleware.process_request(request)

        try:
            self.validate_parameters()
            context = self.get_context_data()
            context.update(EmptyError().get_dict())
        except ApiError as error:
            context = error.get_dict()
        except Exception as error:
            if settings.DEBUG:
                raise
            else:
                context = InternalServerError(error=error).get_dict()

#        self._log_queries()

        response = HttpResponse(self.json_dumps(context))
        return response
예제 #4
0
    def process(self, request, *args, **kwargs):
        self.params = request.GET or request.POST or {}
        LocalUserMiddleware.process_request(request)

        try:
            self.validate_parameters()
            context = self.get_context_data()
            context.update(EmptyError().get_dict())
        except ApiError as error:
            context = error.get_dict()
        except Exception as error:
            if settings.DEBUG:
                raise
            else:
                context = InternalServerError(error=error).get_dict()


#        self._log_queries()

        response = HttpResponse(self.json_dumps(context))
        return response
예제 #5
0
 def user_now(cls):
     return LocalUserMiddleware.get('user_now') or datetime.utcnow()
예제 #6
0
 def is_purchased(cls, album):
     return album.AlbumId in LocalUserMiddleware.get('purchased_albums',
                                                     default=[])
예제 #7
0
 def user_now(cls):
     return LocalUserMiddleware.get('user_now') or datetime.utcnow()