def download_installer(request, build_id, platform):
  """
  <Purpose>
    Initiates a download of an installer.
  <Arguments>
    request:
      A Django request.
    build_id:
      The build ID of the file to download.
    platform:
      The platform for which to build the installer.
  <Exceptions>
    None.
  <Side Effects>
    None.
  <Returns>
    A Django response which initiates a download through a redirect.
  """
  
  manager = BuildManager(build_id=build_id)

  # Invalid build IDs should results in an error.
  if not os.path.isdir(manager.get_build_directory()):
    raise Http404

  if not manager.installer_exists(platform):
    manager.package(platform)

  installer_url = manager.get_static_urls()[platform]
  return HttpResponseRedirect(installer_url)
示例#2
0
def download_installer(request, build_id, platform):
  """
  <Purpose>
    Initiates a download of an installer.
  <Arguments>
    request:
      A Django request.
    build_id:
      The build ID of the file to download.
    platform:
      The platform for which to build the installer.
  <Exceptions>
    None.
  <Side Effects>
    None.
  <Returns>
    A Django response which initiates a download through a redirect.
  """
  
  manager = BuildManager(build_id=build_id)

  # Invalid build IDs should results in an error.
  if not os.path.isdir(manager.get_build_directory()):
    raise Http404

  if not manager.installer_exists(platform):
    manager.package(platform)

  installer_url = manager.get_static_urls()[platform]
  return HttpResponseRedirect(installer_url)