6
6
import ipaddress
7
7
import json
8
8
import sys
9
- from .meta import MetaData
10
- from .info import IPInfo
9
+
11
10
from .util import bytes2long
12
11
from .exceptions import NoSupportIPv4Error , NoSupportIPv6Error , NoSupportLanguageError , DatabaseError , IPNotFound
13
12
14
13
14
+ class MetaData (object ):
15
+ def __init__ (self , ** kwargs ):
16
+ self .fields = kwargs ['fields' ]
17
+ self .node_count = kwargs ['node_count' ]
18
+ self .total_size = kwargs ['total_size' ]
19
+ self .build = kwargs ['build' ]
20
+ self .languages = kwargs ['languages' ]
21
+ self .ip_version = kwargs ['ip_version' ]
22
+
23
+
15
24
class Reader :
16
25
17
26
_meta = {}
@@ -95,7 +104,7 @@ def _resolve(self, node):
95
104
raise DatabaseError ("database is error" )
96
105
return self .data [resolved + 2 :resolved + 2 + size ]
97
106
98
- def find (self , addr , language = "CN" ):
107
+ def find (self , addr , language ):
99
108
off = self ._meta .languages .get (language )
100
109
if off is None :
101
110
raise NoSupportLanguageError (language + " is not support" )
@@ -123,7 +132,7 @@ def find(self, addr, language = "CN"):
123
132
124
133
return tmp [off :off + len (self ._meta .fields )]
125
134
126
- def find_map (self , addr , language = 'CN' ):
135
+ def find_map (self , addr , language ):
127
136
loc = self .find (addr , language )
128
137
if loc is None :
129
138
return None
@@ -132,11 +141,6 @@ def find_map(self, addr, language = 'CN'):
132
141
m [value ] = loc [idx ]
133
142
return m
134
143
135
- def find_info (self , addr , language = 'CN' ):
136
- m = self .find_map (addr , language )
137
- if m is None :
138
- return None
139
- return IPInfo (** m )
140
144
141
145
def get_meta_data (self ):
142
146
return self ._meta
0 commit comments