def populate_ips_from_text_file(self): # Loading the initial file file_content = self.get_text_from_file(file_path=self.file_path) # Instantiating the text parser that grabs the ips text_parser = TextParser(raw_text=file_content) raw_ips = text_parser.list_of_ip_adresses_contained_in_raw_text() # Get env variables for the GeoIpService env_variable_getter = EnvVariableGetter() api_key = env_variable_getter.get_variable("api_key") api_url = env_variable_getter.get_variable("api_url") # Instantiate GeoIp service which is responsible for going out and getting ip geolocation geo_ip_service = GeoIpService(key=api_key, url=api_url) # Get the Geo Ip info using the geo_ip_service, generate ip_models from # the response date and store them in the list and the dict for further filtering for ip in raw_ips: geo_ip_resonse = geo_ip_service.get_geo_ip_info_for_ip( ip_address=ip, format="json") self.generate_and_store_ip_model(ip=ip, data=geo_ip_resonse.json())