|
Server : LiteSpeed System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64 User : nandedex ( 1060) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/imunify360/venv/lib/python3.11/site-packages/im360/model/ |
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