D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
thread-self
/
root
/
opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
im360
/
model
/
Filename :
geoip_data.py
back
Copy
import csv import logging from defence360agent.contracts.config import CountryInfo logger = logging.getLogger(__name__) class GeoCSVReader: def __init__(self): self._NOT_A_COUNTRY = set() self._country_filed = False def countries(self, source=CountryInfo.LOCATIONS_DB): with open(source, encoding="utf-8") as f: reader = csv.DictReader(f) for row in reader: if row["country_iso_code"]: yield dict( id=row["geoname_id"], code=row["country_iso_code"], name=row["country_name"], ) else: self._NOT_A_COUNTRY.add(row["geoname_id"]) self._country_filed = True