def mac_setup(setup):
  try:
    setup.setup_all()
    return
  except setuputil.common.InstallInterruptError as e:
    logging.error("Cancelled wait for " + e.program + ".")
    raise e
  except setuputil.common.InstallFailedError as e:
    logging.error(e.program + " failed to install. Please visit " + e.link +
                  " for download link and extraction instructions.\n" +
                  e.instructions)
    raise e
  except setuputil.common.FileDownloadError as e:
    logging.error("Please visit " + e.link + "for download link and extraction "
                  "instructions.\n" + e.instructions)
    raise e
  except setuputil.common.ExtractionError as e:
    logging.error("Unable to extract " + e.filepath + ".\nPlease extract "
                  "manually.")
    raise e
  except setuputil.common.PermissionDeniedError as e:
    logging.error(e.program + " failed to obtain permissions. " +
                  e.instructions)
    raise e
  except setuputil.common.CommandFailedError as e:
    logging.error("Unable to perform bash command:\n\t" + e.command + "\n"
                  "Please check error message and go to " + e.link + " for "
                  "help.")
    raise e
  except setuputil.common.UnknownFileTypeError as e:
    logging.error("Unknown file type \"" + e.filetype + "\" downloaded.\n" +
                  e.instructions)
    raise e
  except setuputil.common.BadDirectoryError as e:
    logging.error("Directory given for flag " + e.flag + " does not exist.\n"
                  "Please check " + e.directory + " and try again.")
    raise e
Creates a new object based on the provided data.
dataset/ETHPy150Open google/fplutil/bin/setup_all_prereqs.py/mac_setup--crossover with--dataset/ETHPy150Open mozilla/inventory/vendor-local/src/django-tastypie/tastypie/resources.py/Resource.obj_create