(self, item)
Check if two IP address ranges overlap.

        Returns 0 if the two ranged don't overlap, 1 if the given
        range overlaps at the end and -1 if it does at the beginning.

        >>> IP('192.168.0.0/23').overlaps('192.168.1.0/24')
        1
        >>> IP('192.168.0.0/23').overlaps('192.168.1.255')
        1
        >>> IP('192.168.0.0/23').overlaps('192.168.2.0')
        0
        >>> IP('192.168.1.0/24').overlaps('192.168.0.0/23')
        -1
Check if two IP address ranges overlap.
Check if two IP address ranges overlap .
def overlaps(self, item):
        """Check if two IP address ranges overlap.

        Returns 0 if the two ranged don't overlap, 1 if the given
        range overlaps at the end and -1 if it does at the beginning.

        >>> IP('192.168.0.0/23').overlaps('192.168.1.0/24')
        1
        >>> IP('192.168.0.0/23').overlaps('192.168.1.255')
        1
        >>> IP('192.168.0.0/23').overlaps('192.168.2.0')
        0
        >>> IP('192.168.1.0/24').overlaps('192.168.0.0/23')
        -1
        """

        item = IP(item)
        if item.ip >= self.ip and item.ip < self.ip + self.len():
            return 1
        elif self.ip >= item.ip and self.ip < item.ip + item.len():
            return -1
        else:
            return 0
def overlaps ( self , item ) : item = IP ( item ) if item . ip >= self . ip and item . ip < self . ip + self . len ( ) : return 1 elif self . ip >= item . ip and self . ip < item . ip + item . len ( ) : return - 1 else : return 0