| Server IP : 216.106.184.20 / Your IP : 216.73.216.234 Web Server : LiteSpeed System : Linux asmodeus.in-hell.com 5.14.0-570.58.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 29 06:24:11 EDT 2025 x86_64 User : sekoaid1 ( 1891) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/imunify360/venv/lib/python3.11/site-packages/im360/model/ |
Upload File : |
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