Skip to content

Commit 2340fa7

Browse files
committed
update
1 parent aabe6ab commit 2340fa7

File tree

4 files changed

+248
-0
lines changed

4 files changed

+248
-0
lines changed

ipdb/base_station.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
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()

ipdb/city.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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()

ipdb/district.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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()

ipdb/idc.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
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()

0 commit comments

Comments
 (0)