Merge pull request #344 from liuyunbin/fix-python-search

fix python search caused by getInt2 impl
This commit is contained in:
狮子的魂 2024-03-22 16:14:24 +08:00 committed by GitHub
commit 40c7f53fc9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 5 deletions

View File

@ -59,11 +59,11 @@ class XdbSearcher(object):
return self.searchByIPLong(ip)
else:
return self.searchByIPLong(ip)
def searchByIPStr(self, ip):
if not ip.isdigit(): ip = self.ip2long(ip)
return self.searchByIPLong(ip)
def searchByIPLong(self, ip):
# locate the segment index block based on the vector index
sPtr = ePtr = 0
@ -162,7 +162,7 @@ class XdbSearcher(object):
return 0
def getInt2(self, b, offset):
return ((b[offset] & 0x000000FF) | (b[offset+1] & 0x0000FF00))
return ((b[offset] & 0x000000FF) | (b[offset+1] << 8))
def close(self):
if self.__f is not None:
@ -179,10 +179,10 @@ if __name__ == '__main__':
# 1. 缓存
dbPath = "./data/ip2region.xdb";
cb = XdbSearcher.loadContentFromFile(dbfile=dbPath)
# 2. 创建查询对象
searcher = XdbSearcher(contentBuff=cb)
# 3. 执行查询
# ip = "1.2.3.4"
for ip in ip_array: