docs: def _process_cidr_file(self, file):
          """ Iterate over ip info and extract useful data """
          data = {'cidr': list(), 'countries': set(), 'city_country_mapping': dict()}
          allowed_countries = settings.IPGEOBASE_ALLOWED_COUNTRIES
          for cidr_info in self._line_to_dict(file, field_names=settings.IPGEOBASE_CIDR_FIELDS):
              city_id = cidr_info['city_id'] if cidr_info['city_id'] != '-' else None
              if city_id is not None:
                  data['city_country_mapping'].update({cidr_info['city_id']: cidr_info['country_code']})
  
              if allowed_countries and cidr_info['country_code'] not in allowed_countries:
                  continue
              data['cidr'].append({'start_ip': cidr_info['start_ip'],
                                   'end_ip': cidr_info['end_ip'],
                                   'country_id': cidr_info['country_code'],
                                   'city_id': city_id})
              data['countries'].add(cidr_info['country_code'])
          return data