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)