Beispiel #1
0
    def find(self, num):
        #查找的时候,很小心的哦
        #查找时 默认查找带url而非ip  如果为ip开头  则自动将ip转为对应url
        #对不能解析的文件进行过滤:
        #如果末尾有.存在,且不为cn com org等  去除
        urltest = Urltest()
        if not urltest.test(num):
            return True

        l = len(self)
        first = 0
        end = l - 1
        mid = 0
        if l == 0:
            self.insert(0, num)
            #print 'input ',num
            return False
        while first < end:
            mid = (first + end) / 2
            if num > self[mid]:
                first = mid + 1
            elif num < self[mid]:
                end = mid - 1
            else:
                break
        if first == end:
            if self[first] > num:
                self.insert(first, num)
                #print 'input ',num
                return False
            elif self[first] < num:
                self.insert(first + 1, num)
                #print 'input ',num
                return False
            else:
                return True

        elif first > end:
            self.insert(first, num)
            #print 'input ',num
            return False
        else:
            return True
Beispiel #2
0
    def find(self, num):
        # 查找的时候,很小心的哦
        # 查找时 默认查找带url而非ip  如果为ip开头  则自动将ip转为对应url
        # 对不能解析的文件进行过滤:
        # 如果末尾有.存在,且不为cn com org等  去除
        urltest = Urltest()
        if not urltest.test(num):
            return True

        l = len(self)
        first = 0
        end = l - 1
        mid = 0
        if l == 0:
            self.insert(0, num)
            # print 'input ',num
            return False
        while first < end:
            mid = (first + end) / 2
            if num > self[mid]:
                first = mid + 1
            elif num < self[mid]:
                end = mid - 1
            else:
                break
        if first == end:
            if self[first] > num:
                self.insert(first, num)
                # print 'input ',num
                return False
            elif self[first] < num:
                self.insert(first + 1, num)
                # print 'input ',num
                return False
            else:
                return True

        elif first > end:
            self.insert(first, num)
            # print 'input ',num
            return False
        else:
            return True