On Sat, Mar 14, 2009 at 11:02 PM, Jeremy Dunck <jdu...@gmail.com> wrote:

>
> On Sat, Mar 14, 2009 at 6:33 PM, Rodrigo Guzman <rodg...@gmail.com> wrote:
> ...
> > So, it seems like it'd be a straight forward change to
> > django.core.context_processors.debug to implement it.  However, it
> > seems that this functionality would be better placed in the settings
> > module.
>
> Django only uses INTERNAL_IPS using "in", so just __contains__ is needed.
>
> I've been doing something like this in my project settings for some
> time; unless I'm missing something, there's no need to change Django:
>
> class CIDR_LIST(list):
>    def __init__(self, cidrs):
>        from IPy import IP
>        self.cidrs = []
>        try:
>            for cidr in cidrs:
>                self.cidrs.append(IP(cidr))
>        except ImportError:
>            pass
>    def __contains__(self, ip):
>        try:
>            for cidr in self.cidrs:
>                if ip in cidr:
>                    return True
>        except:
>            pass
>        return False
>
> INTERNAL_IPS = CIDR_LIST([
>    '127.0.0.1/32',
>    '10.0.0.0/24'
>    ])
>
> >
>
Why are you subclassing list if you're going to just add a cidrs attr that's
the list :)

Alex

-- 
"I disapprove of what you say, but I will defend to the death your right to
say it." --Voltaire
"The people's good is the highest law."--Cicero

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to