File tree Expand file tree Collapse file tree 5 files changed +56
-164
lines changed
Expand file tree Collapse file tree 5 files changed +56
-164
lines changed Original file line number Diff line number Diff line change 33 :copyright: ©2018 by IPIP.net
44"""
55
6- from .database import Reader
6+ from .database import Database
77
88
99class BaseStationInfo :
@@ -20,44 +20,6 @@ def __init__(self, **kwargs):
2020 self .__dict__ [key ] = self ._map [key ]
2121
2222
23- class BaseStation :
23+ class BaseStation ( Database ) :
2424
25- db = None
26-
27- def __init__ (self , name ):
28- self .db = Reader (name )
29-
30- def reload (self , name ):
31- try :
32- db = Reader (name )
33- self .db = db
34- return True
35- except :
36- return False
37-
38- def find (self , addr , language ):
39- return self .db .find (addr , language )
40-
41- def find_map (self , addr , language ):
42- return self .db .find_map (addr , language )
43-
44- def find_info (self , addr , language ):
45- m = self .db .find_map (addr , language )
46- if m is None :
47- return None
48- return BaseStationInfo (** m )
49-
50- def is_ipv4 (self ):
51- return self .db .is_support_ipv4 ()
52-
53- def is_ipv6 (self ):
54- return self .db .is_support_ipv6 ()
55-
56- def languages (self ):
57- return self .db .support_languages ()
58-
59- def fields (self ):
60- return self .db .support_fields ()
61-
62- def build_time (self ):
63- return self .db .build_utc_time ()
25+ info = BaseStationInfo
Original file line number Diff line number Diff line change 33 :copyright: ©2018 by IPIP.net
44"""
55
6- from .database import Reader
6+ from .database import Database
77
88
99class CityInfo :
@@ -34,44 +34,6 @@ def __init__(self, **kwargs):
3434 self .__dict__ [key ] = self ._map [key ]
3535
3636
37- class City :
37+ class City ( Database ) :
3838
39- db = None
40-
41- def __init__ (self , name ):
42- self .db = Reader (name )
43-
44- def reload (self , name ):
45- try :
46- db = Reader (name )
47- self .db = db
48- return True
49- except :
50- return False
51-
52- def find (self , addr , language ):
53- return self .db .find (addr , language )
54-
55- def find_map (self , addr , language ):
56- return self .db .find_map (addr , language )
57-
58- def find_info (self , addr , language ):
59- m = self .db .find_map (addr , language )
60- if m is None :
61- return None
62- return CityInfo (** m )
63-
64- def is_ipv4 (self ):
65- return self .db .is_support_ipv4 ()
66-
67- def is_ipv6 (self ):
68- return self .db .is_support_ipv6 ()
69-
70- def languages (self ):
71- return self .db .support_languages ()
72-
73- def fields (self ):
74- return self .db .support_fields ()
75-
76- def build_time (self ):
77- return self .db .build_utc_time ()
39+ info = CityInfo
Original file line number Diff line number Diff line change @@ -162,3 +162,47 @@ def is_support_ipv6(self):
162162
163163 def build_utc_time (self ):
164164 return self ._meta .build
165+
166+
167+ class Database :
168+
169+ db = None
170+ info = None
171+
172+ def __init__ (self , name ):
173+ self .db = Reader (name )
174+
175+ def reload (self , name ):
176+ try :
177+ db = Reader (name )
178+ self .db = db
179+ return True
180+ except :
181+ return False
182+
183+ def find (self , addr , language ):
184+ return self .db .find (addr , language )
185+
186+ def find_map (self , addr , language ):
187+ return self .db .find_map (addr , language )
188+
189+ def find_info (self , addr , language ):
190+ m = self .db .find_map (addr , language )
191+ if m is None :
192+ return None
193+ return self .info (** m )
194+
195+ def is_ipv4 (self ):
196+ return self .db .is_support_ipv4 ()
197+
198+ def is_ipv6 (self ):
199+ return self .db .is_support_ipv6 ()
200+
201+ def languages (self ):
202+ return self .db .support_languages ()
203+
204+ def fields (self ):
205+ return self .db .support_fields ()
206+
207+ def build_time (self ):
208+ return self .db .build_utc_time ()
Original file line number Diff line number Diff line change 33 :copyright: ©2018 by IPIP.net
44"""
55
6- from .database import Reader
6+ from .database import Database
77
88
99class DistrictInfo :
@@ -22,44 +22,6 @@ def __init__(self, **kwargs):
2222 self .__dict__ [key ] = self ._map [key ]
2323
2424
25- class District :
25+ class District ( Database ) :
2626
27- db = None
28-
29- def __init__ (self , name ):
30- self .db = Reader (name )
31-
32- def reload (self , name ):
33- try :
34- db = Reader (name )
35- self .db = db
36- return True
37- except :
38- return False
39-
40- def find (self , addr , language ):
41- return self .db .find (addr , language )
42-
43- def find_map (self , addr , language ):
44- return self .db .find_map (addr , language )
45-
46- def find_info (self , addr , language ):
47- m = self .db .find_map (addr , language )
48- if m is None :
49- return None
50- return DistrictInfo (** m )
51-
52- def is_ipv4 (self ):
53- return self .db .is_support_ipv4 ()
54-
55- def is_ipv6 (self ):
56- return self .db .is_support_ipv6 ()
57-
58- def languages (self ):
59- return self .db .support_languages ()
60-
61- def fields (self ):
62- return self .db .support_fields ()
63-
64- def build_time (self ):
65- return self .db .build_utc_time ()
27+ info = DistrictInfo
Original file line number Diff line number Diff line change 33 :copyright: ©2018 by IPIP.net
44"""
55
6- from .database import Reader
6+ from .database import Database
77
88
99class IDCInfo :
@@ -20,44 +20,6 @@ def __init__(self, **kwargs):
2020 self .__dict__ [key ] = self ._map [key ]
2121
2222
23- class IDC :
23+ class IDC ( Database ) :
2424
25- db = None
26-
27- def __init__ (self , name ):
28- self .db = Reader (name )
29-
30- def reload (self , name ):
31- try :
32- db = Reader (name )
33- self .db = db
34- return True
35- except :
36- return False
37-
38- def find (self , addr , language ):
39- return self .db .find (addr , language )
40-
41- def find_map (self , addr , language ):
42- return self .db .find_map (addr , language )
43-
44- def find_info (self , addr , language ):
45- m = self .db .find_map (addr , language )
46- if m is None :
47- return None
48- return IDCInfo (** m )
49-
50- def is_ipv4 (self ):
51- return self .db .is_support_ipv4 ()
52-
53- def is_ipv6 (self ):
54- return self .db .is_support_ipv6 ()
55-
56- def languages (self ):
57- return self .db .support_languages ()
58-
59- def fields (self ):
60- return self .db .support_fields ()
61-
62- def build_time (self ):
63- return self .db .build_utc_time ()
25+ info = IDCInfo
You can’t perform that action at this time.
0 commit comments