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.')