gutter
gutter copied to clipboard
gutter-django blows up when you double register an attribute on a subclass
class FlaskRequestArguments(arguments.Container):
ip_address = arguments.String(lambda self: self.input.remote_addr)
class TempestRequestArguments(FlaskRequestArguments):
def get_forum_from_request(self):
referrer = urlparse(self.input.referrer)
referrer_qs = parse_qs(referrer.query)
forum = referrer_qs.get('f', None)
return forum
country_code = arguments.String(lambda self: cc_for_request(current_app.geoip))
forum = arguments.String(get_forum_from_request)
is_mobile = arguments.Boolean(lambda self: is_mobile_request())
registry.arguments.register(FlaskRequestArguments.ip_address)
registry.arguments.register(TempestRequestArguments.country_code)
registry.arguments.register(TempestRequestArguments.forum)
registry.arguments.register(TempestRequestArguments.ip_address)
registry.arguments.register(TempestRequestArguments.is_mobile)