File tree Expand file tree Collapse file tree 4 files changed +248
-0
lines changed Expand file tree Collapse file tree 4 files changed +248
-0
lines changed Original file line number Diff line number Diff line change
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ :copyright: ©2018 by IPIP.net
4
+ """
5
+
6
+ from .database import Reader
7
+
8
+
9
+ class BaseStationInfo :
10
+ country_name = ""
11
+ region_name = ""
12
+ city_name = ""
13
+ owner_domain = ""
14
+ isp_domain = ""
15
+ base_station = ""
16
+
17
+ def __init__ (self , ** kwargs ):
18
+ self ._map = kwargs
19
+ for key in self ._map :
20
+ self .__setattr__ (key , self ._map [key ])
21
+
22
+ def __getattr__ (self , item ):
23
+ return self ._map .get (item , "" )
24
+
25
+
26
+ class BaseStation :
27
+
28
+ db = None
29
+
30
+ def __init__ (self , name ):
31
+ self .db = Reader (name )
32
+
33
+ def find (self , addr , language ):
34
+ return self .db .find (addr , language )
35
+
36
+ def find_map (self , addr , language ):
37
+ return self .db .find_map (addr , language )
38
+
39
+ def find_info (self , addr , language ):
40
+ m = self .db .find_map (addr , language )
41
+ if m is None :
42
+ return None
43
+ return BaseStationInfo (** m )
44
+
45
+ def is_ipv4 (self ):
46
+ return self .db .is_support_ipv4 ()
47
+
48
+ def is_ipv6 (self ):
49
+ return self .db .is_support_ipv6 ()
50
+
51
+ def languages (self ):
52
+ return self .db .support_languages ()
53
+
54
+ def fields (self ):
55
+ return self .db .support_fields ()
56
+
57
+ def build_time (self ):
58
+ return self .db .build_utc_time ()
Original file line number Diff line number Diff line change
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ :copyright: ©2018 by IPIP.net
4
+ """
5
+
6
+ from .database import Reader
7
+
8
+
9
+ class CityInfo :
10
+ country_name = ""
11
+ region_name = ""
12
+ city_name = ""
13
+ owner_domain = ""
14
+ isp_domain = ""
15
+ latitude = ""
16
+ longitude = ""
17
+ timezone = ""
18
+ utc_offset = ""
19
+ china_admin_code = ""
20
+ idd_code = ""
21
+ country_code = ""
22
+ continent_code = ""
23
+ idc = ""
24
+ base_station = ""
25
+ country_code3 = ""
26
+ european_union = ""
27
+ currency_code = ""
28
+ currency_name = ""
29
+ anycast = ""
30
+
31
+ def __init__ (self , ** kwargs ):
32
+ self ._map = kwargs
33
+ for key in self ._map :
34
+ self .__setattr__ (key , self ._map [key ])
35
+
36
+ def __getattr__ (self , item ):
37
+ return self ._map .get (item , "" )
38
+
39
+
40
+ class City :
41
+
42
+ db = None
43
+
44
+ def __init__ (self , name ):
45
+ self .db = Reader (name )
46
+
47
+ def find (self , addr , language ):
48
+ return self .db .find (addr , language )
49
+
50
+ def find_map (self , addr , language ):
51
+ return self .db .find_map (addr , language )
52
+
53
+ def find_info (self , addr , language ):
54
+ m = self .db .find_map (addr , language )
55
+ if m is None :
56
+ return None
57
+ return CityInfo (** m )
58
+
59
+ def is_ipv4 (self ):
60
+ return self .db .is_support_ipv4 ()
61
+
62
+ def is_ipv6 (self ):
63
+ return self .db .is_support_ipv6 ()
64
+
65
+ def languages (self ):
66
+ return self .db .support_languages ()
67
+
68
+ def fields (self ):
69
+ return self .db .support_fields ()
70
+
71
+ def build_time (self ):
72
+ return self .db .build_utc_time ()
Original file line number Diff line number Diff line change
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ :copyright: ©2018 by IPIP.net
4
+ """
5
+
6
+ from .database import Reader
7
+
8
+
9
+ class DistrictInfo :
10
+ country_name = ""
11
+ region_name = ""
12
+ city_name = ""
13
+ district_domain = ""
14
+ china_admin_code = ""
15
+ covering_radius = ""
16
+ latitude = ""
17
+ longitude = ""
18
+
19
+ def __init__ (self , ** kwargs ):
20
+ self ._map = kwargs
21
+ for key in self ._map :
22
+ self .__setattr__ (key , self ._map [key ])
23
+
24
+ def __getattr__ (self , item ):
25
+ return self ._map .get (item , "" )
26
+
27
+
28
+ class District :
29
+
30
+ db = None
31
+
32
+ def __init__ (self , name ):
33
+ self .db = Reader (name )
34
+
35
+ def find (self , addr , language ):
36
+ return self .db .find (addr , language )
37
+
38
+ def find_map (self , addr , language ):
39
+ return self .db .find_map (addr , language )
40
+
41
+ def find_info (self , addr , language ):
42
+ m = self .db .find_map (addr , language )
43
+ if m is None :
44
+ return None
45
+ return DistrictInfo (** m )
46
+
47
+ def is_ipv4 (self ):
48
+ return self .db .is_support_ipv4 ()
49
+
50
+ def is_ipv6 (self ):
51
+ return self .db .is_support_ipv6 ()
52
+
53
+ def languages (self ):
54
+ return self .db .support_languages ()
55
+
56
+ def fields (self ):
57
+ return self .db .support_fields ()
58
+
59
+ def build_time (self ):
60
+ return self .db .build_utc_time ()
Original file line number Diff line number Diff line change
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ :copyright: ©2018 by IPIP.net
4
+ """
5
+
6
+ from .database import Reader
7
+
8
+
9
+ class IDCInfo :
10
+ country_name = ""
11
+ region_name = ""
12
+ city_name = ""
13
+ owner_domain = ""
14
+ isp_domain = ""
15
+ idc = ""
16
+
17
+ def __init__ (self , ** kwargs ):
18
+ self ._map = kwargs
19
+ for key in self ._map :
20
+ self .__setattr__ (key , self ._map [key ])
21
+
22
+ def __getattr__ (self , item ):
23
+ return self ._map .get (item , "" )
24
+
25
+
26
+ class IDC :
27
+
28
+ db = None
29
+
30
+ def __init__ (self , name ):
31
+ self .db = Reader (name )
32
+
33
+ def find (self , addr , language ):
34
+ return self .db .find (addr , language )
35
+
36
+ def find_map (self , addr , language ):
37
+ return self .db .find_map (addr , language )
38
+
39
+ def find_info (self , addr , language ):
40
+ m = self .db .find_map (addr , language )
41
+ if m is None :
42
+ return None
43
+ return IDCInfo (** m )
44
+
45
+ def is_ipv4 (self ):
46
+ return self .db .is_support_ipv4 ()
47
+
48
+ def is_ipv6 (self ):
49
+ return self .db .is_support_ipv6 ()
50
+
51
+ def languages (self ):
52
+ return self .db .support_languages ()
53
+
54
+ def fields (self ):
55
+ return self .db .support_fields ()
56
+
57
+ def build_time (self ):
58
+ return self .db .build_utc_time ()
You can’t perform that action at this time.
0 commit comments