def get_zk_locations_string():
  """ Returns the ZooKeeper connection host string. 

  Returns:
    A string containing one or more host:port listings, separated by commas. 
    None is returned if there was a problem getting the location string.
  """
  try:
    info = file_io.read(constants.ZK_LOCATIONS_JSON_FILE) 
    zk_json = json.loads(info) 
    return ":2181,".join(zk_json['locations']) + ":2181"
  except IOError, io_error:
    logging.exception(io_error)
    return constants.ZK_DEFAULT_CONNECTION_STR
  except ValueError, value_error:
    logging.exception(value_error)
    return constants.ZK_DEFAULT_CONNECTION_STR
  except TypeError, type_error:
    logging.exception(type_error)
    return constants.ZK_DEFAULT_CONNECTION_STR
  except __HOLE__, key_error:
    logging.exception(key_error)
    return constants.ZK_DEFAULT_CONNECTION_STR
dataset/ETHPy150Open AppScale/appscale/lib/appscale_info.py/get_zk_locations_string