1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- # -*- coding: utf-8 -*-
- """
- :copyright: ©2018 by IPIP.net
- """
- from .database import Reader
- class CityInfo:
- country_name = ""
- region_name = ""
- city_name = ""
- owner_domain = ""
- isp_domain = ""
- latitude = ""
- longitude = ""
- timezone = ""
- utc_offset = ""
- china_admin_code = ""
- idd_code = ""
- country_code = ""
- continent_code = ""
- idc = ""
- base_station = ""
- country_code3 = ""
- european_union = ""
- currency_code = ""
- currency_name = ""
- anycast = ""
- def __init__(self, **kwargs):
- self._map = kwargs
- for key in self._map:
- self.__dict__[key] = self._map[key]
- class City:
- db = None
- def __init__(self, name):
- self.db = Reader(name)
- def reload(self, name):
- try:
- db = Reader(name)
- self.db = db
- return True
- except:
- return False
- def find(self, addr, language):
- return self.db.find(addr, language)
- def find_map(self, addr, language):
- return self.db.find_map(addr, language)
- def find_info(self, addr, language):
- m = self.db.find_map(addr, language)
- if m is None:
- return None
- return CityInfo(**m)
- def is_ipv4(self):
- return self.db.is_support_ipv4()
- def is_ipv6(self):
- return self.db.is_support_ipv6()
- def languages(self):
- return self.db.support_languages()
- def fields(self):
- return self.db.support_fields()
- def build_time(self):
- return self.db.build_utc_time()
|