code: def get_ip_info(ip):
          
          # from pprint import pprint
          try:
              ipInfo = _mmdb_reader.get(ip) or {}
          except (maxminddb.errors.InvalidDatabaseError, ValueError):
              ipInfo = {}
  
          code, name = '--', 'Unknown'
          city_name, region_code, region_name = ('Unknown',) * 3
          if 'country' in ipInfo:
              code = ipInfo['country']['iso_code']
              name = ipInfo['country']['names']['en']
          elif 'continent' in ipInfo:
              code = ipInfo['continent']['code']
              name = ipInfo['continent']['names']['en']
          if 'city' in ipInfo:
              city_name = ipInfo['city']['names']['en']
          if 'subdivisions' in ipInfo:
              region_code = ipInfo['subdivisions'][0]['iso_code']
              region_name = ipInfo['subdivisions'][0]['names']['en']
          return GeoData(code, name, region_code, region_name, city_name)
docs: Return geo information about IP address.
  
          `code` - ISO country code
          `name` - Full name of country
          `region_code` - ISO region code
          `region_name` - Full name of region
          `city_name` - Full name of city