def view_threatmodel(request, eid): import mimetypes mimetypes.init() eng = get_object_or_404(Engagement, pk=eid) mimetype, encoding = mimetypes.guess_type(eng.tmodel_path) response = StreamingHttpResponse(FileIterWrapper(open(eng.tmodel_path))) fileName, fileExtension = os.path.splitext(eng.tmodel_path) response[ 'Content-Disposition'] = 'attachment; filename=threatmodel' + fileExtension response['Content-Type'] = mimetype return response
def view_selenium(request, ttid): import mimetypes mimetypes.init() cred = Cred_Mapping.objects.get(pk=ttid) print cred.cred_id.selenium_script #mimetype, encoding = mimetypes.guess_type(cred.cred_id.selenium_script) response = StreamingHttpResponse(FileIterWrapper(open(cred.cred_id.selenium_script))) fileName, fileExtension = os.path.splitext(cred.cred_id.selenium_script) response['Content-Disposition'] = 'attachment; filename=selenium_script' + fileExtension response['Content-Type'] = mimetype return response
def download_risk_acceptance(request, eid, raid): import mimetypes mimetypes.init() risk_acceptance = get_object_or_404(Risk_Acceptance, pk=raid) response = StreamingHttpResponse( FileIterWrapper( open(settings.MEDIA_ROOT + "/" + risk_acceptance.path.name, mode='rb'))) response['Content-Disposition'] = 'attachment; filename="%s"' \ % risk_acceptance.filename() mimetype, encoding = mimetypes.guess_type(risk_acceptance.path.name) response['Content-Type'] = mimetype return response
def download_risk(request, eid, raid): import mimetypes mimetypes.init() risk_approval = get_object_or_404(Risk_Acceptance, pk=raid) en = get_object_or_404(Engagement, pk=eid) if (request.user.is_staff or request.user in en.product.authorized_users.all()): pass else: raise PermissionDenied response = StreamingHttpResponse( FileIterWrapper( open(settings.MEDIA_ROOT + "/" + risk_approval.path.name))) response['Content-Disposition'] = 'attachment; filename="%s"' \ % risk_approval.filename() mimetype, encoding = mimetypes.guess_type(risk_approval.path.name) response['Content-Type'] = mimetype return response