def __init__(self, *args, **kwargs): story = kwargs.pop('story', None) template = kwargs.pop('template', None) entity_owner = kwargs.pop('entity_owner', None) participant_owner = kwargs.pop('participant_owner', None) super(ItemForm, self).__init__(*args, **kwargs) if story: self.instance.story = story if template: self.instance.template = template if entity_owner: self.instance.entity_owner = entity_owner if participant_owner: self.instance.participant_owner = participant_owner # limit to team_vocab story = self.instance.story story_team_vocab = Story.get_team_vocab(story) print("STORY: ", story) print("STV: ", story_team_vocab) # when stories are copied; editors and creditees should remain as # possibilities in the drop-down menu if self.instance.id: self.fields['credit'].queryset = ( story_team_vocab | self.instance.credit.all()).distinct() self.fields['editor'].queryset = ( story_team_vocab | self.instance.editor.all()).distinct() else: self.fields['credit'].queryset = story_team_vocab self.fields['editor'].queryset = story_team_vocab # We want to handle cases where templates are made inactive, or # when an item is copied to an entity_owner other than the one # that has the matching templateself. # # So: the list of possible templates for this item is both: # - the current templates # - templates for this entity_owner self.fields['template'].queryset = ( ItemTemplate.objects.filter(id=self.instance.template_id) | self.instance.entity_owner.get_item_templates()) if 'content_license' in self.fields: self.fields[ 'content_license'].queryset = ContentLicense.objects.filter( Q(entity_owner=story.entity_owner) | Q(entity_owner__isnull=True)) self.fields['content_license'].empty_label = 'Select a license' if 'producer' in self.fields: self.fields['producer'].queryset = story_team_vocab self.fields['producer'].empty_label = 'Select a producer'
def story_team_options_json(request, pk): """Returns JSON of team members that can be assigned to a story.""" story = get_object_or_404(Story, pk=pk) print story team = Story.get_story_team(story) story_team = {} for item in team: story_team[item.id]=item.credit_name print story_team return HttpResponse(json.dumps(story_team), content_type = "application/json")
def copy_network_story(request, pk): """ Copy a story and related facets. """ original_story = get_object_or_404(Story, pk=pk) original_org = original_story.organization original_webfacet = original_story.webfacetstory.all() original_printfacet = original_story.printfacetstory.all() original_audiofacet = original_story.audiofacetstory.all() original_videofacet = original_story.videofacetstory.all() user = request.user organization = request.user.organization partner = request.user.organization if request.method == "POST": #Create a copy of the story and a storycopydetail record copied_story = Story.copy_story(original_story) copied_story.owner = user copied_story.organization = organization copied_story.save() partner_story = copied_story story_copy_record = StoryCopyDetail.objects.create_story_copy_record( original_org=original_org, partner=partner, original_story=original_story, partner_story=partner_story ) print "Story Copied" # Create copy of facets if they exist if original_webfacet: print original_webfacet[0] copied_webfacet = WebFacet.copy_webfacet(original_webfacet[0]) copied_webfacet.story = partner_story copied_webfacet.owner = user copied_webfacet.organization = organization copied_webfacet.save() partner_webfacet = copied_webfacet webfacet_copy_record = WebFacetCopyDetail.objects.create_webfacet_copy_record( original_org=original_org, partner=partner, original_webfacet=original_webfacet[0], partner_webfacet=partner_webfacet ) print "Webfacet Copied" if original_printfacet: print original_printfacet[0] copied_printfacet = PrintFacet.copy_printfacet(original_printfacet[0]) copied_printfacet.story = partner_story copied_printfacet.owner = user copied_printfacet.organization = organization copied_printfacet.save() partner_printfacet = copied_printfacet printfacet_copy_record = PrintFacetCopyDetail.objects.create_printfacet_copy_record( original_org=original_org, partner=partner, original_printfacet=original_printfacet, partner_printfacet=partner_printfacet ) print "Printfacet Copied" if original_audiofacet: print original_audiofacet[0] copied_audiofacet = AudioFacet.copy_audiofacet(original_audiofacet[0]) copied_audiofacet.story = partner_story copied_audiofacet.owner = user copied_audiofacet.organization = organization copied_audiofacet.save() partner_audiofacet = copied_audiofacet audiofacet_copy_record = AudioFacetCopyDetail.objects.create_audiofacet_copy_record( original_org=original_org, partner=partner, original_audiofacet=original_audiofacet, partner_audiofacet=partner_audiofacet ) print "Audiofacet Copied" if original_videofacet: print original_videofacet[0] copied_videofacet = VideoFacet.copy_videofacet(original_videofacet[0]) copied_videofacet.story = partner_story copied_videofacet.owner = user copied_videofacet.organization = organization copied_videofacet.save() partner_videofacet = copied_videofacet videofacet_copy_record = VideoFacetCopyDetail.objects.create_videofacet_copy_record( original_org=original_org, partner=partner, original_videofacet=original_videofacet, partner_videofacet=partner_videofacet ) print "Videofacet Copied" return redirect('network_stories')
def post(self, request, story): print "In post" story = self.kwargs['story'] original_story = get_object_or_404(Story, id=story) original_org = original_story.organization original_facets = original_story.facet_set.all() user = self.request.user organization = self.request.user.organization partner = self.request.user.organization print "stuff is happening" # Create a copy of the story and a storycopydetail record copied_story = Story.copy_story(original_story) copied_story.owner = user copied_story.organization = organization copied_story.save() story_copy_record = StoryCopyDetail.objects.create_story_copy_record( original_org=original_org, partner=partner, original_story=original_story, partner_story=copied_story) # Create copy of facets if they exist # Copy the Facet if original_facets: # get facet templates and make copies if org is not null print "if original facets" for facet in original_facets: print "copy the facet template" print "FT: ", facet.template if facet.template.organization: copied_facet_template = facet.template.copy() else: copied_facet_template = facet.template print "facet template copied" copied_facet = facet.copy() print "Copied Facet exists" print "CF: ", copied_facet copied_facet.story = copied_story print "CFS" copied_facet.owner = user print "CFO" copied_facet.organization = organization print "CFOR" copied_facet.template = copied_facet_template print "CFT" copied_facet.save() print "CF Saved" facet_copy_record = FacetCopyDetail.objects.create_facet_copy_record( original_org=original_org, partner=partner, original_facet=facet, partner_facet=copied_facet) print "facet copy record" # create copy of facet images original_facet_images = original_story.get_story_images() print "original facet images" for image in original_facet_images: copied_image = image.copy() copied_image.owner = user copied_image.organization = organization copied_image.save() imageasset_copy_record = ImageAssetCopyDetail.objects.create_imageasset_copy_record( original_org=original_org, partner=partner, original_imageasset=image, partner_imageasset=copied_image) # add image to copied facet copied_facet.image_assets.add(copied_image) copied_facet.save() # create copy of facet documents original_facet_documents = original_story.get_story_documents() print "original facet documents" for document in original_facet_documents: copied_document = document.copy() copied_document.owner = user copied_document.organization = organization copied_document.save() documentasset_copy_record = DocumentAssetCopyDetail.objects.create_documentasset_copy_record( original_org=original_org, partner=partner, original_documentasset=document, partner_documentasset=copied_document) # add document to copied facet copied_facet.document_assets.add(copied_document) copied_facet.save() # create copy of facet audio original_facet_audiofiles = original_story.get_story_audio() print "original facet audio" for audio in original_facet_audiofiles: copied_audio = audio.copy() copied_audio.owner = user copied_audio.organization = organization copied_audio.save() audioasset_copy_record = AudioAssetCopyDetail.objects.create_audioasset_copy_record( original_org=original_org, partner=partner, original_audioasset=audio, partner_audioasset=copied_audio) # add audio to copied facet copied_facet.audio_assets.add(copied_audio) copied_facet.save() # create copy of facet video original_facet_videos = original_story.get_story_video() print "original facet video" for video in original_facet_videos: copied_video = video.copy() copied_video.owner = user copied_video.organization = organization copied_video.save() videoasset_copy_record = VideoAssetCopyDetail.objects.create_videoasset_copy_record( original_org=original_org, partner=partner, original_videoasset=video, partner_videoasset=copied_video) # add video to copied facet copied_facet.video_assets.add(copied_video) copied_facet.save() # record action for activity story_team # action.send(self.request.user, verb="picked up", action_object=original_story) return redirect('network_stories')
def copy_network_story(request, pk): """ Copy a story and related facets. """ original_story = get_object_or_404(Story, pk=pk) original_org = original_story.organization original_webfacet = original_story.webfacetstory.all() original_printfacet = original_story.printfacetstory.all() original_audiofacet = original_story.audiofacetstory.all() original_videofacet = original_story.videofacetstory.all() user = request.user organization = request.user.organization partner = request.user.organization # record action for activity story_team # action.send(request.user, verb="picked up", action_object=original_story) if request.method == "POST": # Create a copy of the story and a storycopydetail record copied_story = Story.copy_story(original_story) copied_story.owner = user copied_story.organization = organization copied_story.save() story_copy_record = StoryCopyDetail.objects.create_story_copy_record( original_org=original_org, partner=partner, original_story=original_story, partner_story=copied_story ) # Create copy of facets if they exist # Copy the WebFacet if original_webfacet: print original_webfacet[0] copied_webfacet = WebFacet.copy_webfacet(original_webfacet[0]) copied_webfacet.story = copied_story copied_webfacet.owner = user copied_webfacet.organization = organization copied_webfacet.save() webfacet_copy_record = WebFacetCopyDetail.objects.create_webfacet_copy_record( original_org=original_org, partner=partner, original_webfacet=original_webfacet[0], partner_webfacet=copied_webfacet ) # create copy of webfacet images original_webfacet_images = WebFacet.get_webfacet_images(original_webfacet[0]) for image in original_webfacet_images: copied_image = ImageAsset.copy_image(image) copied_image.owner = user copied_image.organization = organization copied_image.save() imageasset_copy_record = ImageAssetCopyDetail.objects.create_imageasset_copy_record( original_org=original_org, partner=partner, original_imageasset=image, partner_imageasset=copied_image ) # add image to copied webfacet copied_webfacet.image_assets.add(copied_image) copied_webfacet.save() # create copy of webfacet documents original_webfacet_documents = WebFacet.get_webfacet_documents(original_webfacet[0]) for document in original_webfacet_documents: copied_document = DocumentAsset.copy_document(document) copied_document.owner = user copied_document.organization = organization copied_document.save() documentasset_copy_record = DocumentAssetCopyDetail.objects.create_documentasset_copy_record( original_org=original_org, partner=partner, original_documentasset=document, partner_documentasset=copied_document ) # add document to copied webfacet copied_webfacet.document_assets.add(copied_document) copied_webfacet.save() # create copy of webfacet audio original_webfacet_audiofiles = WebFacet.get_webfacet_audio(original_webfacet[0]) for audio in original_webfacet_audiofiles: copied_audio = AudioAsset.copy_audio(audio) copied_audio.owner = user copied_audio.organization = organization copied_audio.save() audioasset_copy_record = AudioAssetCopyDetail.objects.create_audioasset_copy_record( original_org=original_org, partner=partner, original_audioasset=audio, partner_audioasset=copied_audio ) # add audio to copied webfacet copied_webfacet.audio_assets.add(copied_audio) copied_webfacet.save() # create copy of webfacet video # original_webfacet_video = WebFacet.get_webfacet_video(original_webfacet[0]) for video in original_webfacet_videos: copied_video = VideoAsset.copy_video(video) copied_video.owner = user copied_video.organization = organization copied_video.save() videoasset_copy_record = VideoAssetCopyDetail.objects.create_videoasset_copy_record( original_org=original_org, partner=partner, original_videoasset=video, partner_videoasset=copied_video ) # add video to copied webfacet copied_webfacet.video_assets.add(copied_video) copied_webfacet.save() # Copy the PrintFacet if original_printfacet: print original_printfacet[0] copied_printfacet = PrintFacet.copy_printfacet(original_printfacet[0]) copied_printfacet.story = copied_story copied_printfacet.owner = user copied_printfacet.organization = organization copied_printfacet.save() printfacet_copy_record = PrintFacetCopyDetail.objects.create_printfacet_copy_record( original_org=original_org, partner=partner, original_printfacet=original_printfacet, partner_printfacet=copied_printfacet ) # create copy of printfacet images original_printfacet_images = PrintFacet.get_printfacet_images(original_printfacet[0]) for image in original_printfacet_images: copied_image = ImageAsset.copy_image(image) copied_image.owner = user copied_image.organization = organization copied_image.save() imageasset_copy_record = ImageAssetCopyDetail.objects.create_imageasset_copy_record( original_org=original_org, partner=partner, original_imageasset=image, partner_imageasset=copied_image ) # add image to copied printfacet copied_printfacet.image_assets.add(copied_image) copied_printfacet.save() # create copy of printfacet documents original_printfacet_documents = PrintFacet.get_printfacet_documents(original_printfacet[0]) for document in original_printfacet_documents: copied_document = DocumentAsset.copy_document(document) copied_document.owner = user copied_document.organization = organization copied_document.save() documentasset_copy_record = DocumentAssetCopyDetail.objects.create_documentasset_copy_record( original_org=original_org, partner=partner, original_documentasset=document, partner_documentasset=copied_document ) # add document to copied printfacet copied_printfacet.document_assets.add(copied_document) copied_printfacet.save() # create copy of printfacet audio original_printfacet_audiofiles = PrintFacet.get_printfacet_audio(original_printfacet[0]) for audio in original_printfacet_audios: copied_audio = AudioAsset.copy_audio(audio) copied_audio.owner = user copied_audio.organization = organization copied_audio.save() audioasset_copy_record = AudioAssetCopyDetail.objects.create_audioasset_copy_record( original_org=original_org, partner=partner, original_audioasset=audio, partner_audioasset=copied_audio ) # add audio to copied printfacet copied_printfacet.audio_assets.add(copied_audio) copied_printfacet.save() # create copy of printfacet video original_printfacet_video = PrintFacet.get_printfacet_video(original_printfacet[0]) for video in original_printfacet_videos: copied_video = VideoAsset.copy_video(video) copied_video.owner = user copied_video.organization = organization copied_video.save() videoasset_copy_record = VideoAssetCopyDetail.objects.create_videoasset_copy_record( original_org=original_org, partner=partner, original_videoasset=video, partner_videoasset=copied_video ) # add video to copied printfacet copied_printfacet.video_assets.add(copied_video) copied_printfacet.save() # Copy the AudioFacet if original_audiofacet: print original_audiofacet[0] copied_audiofacet = AudioFacet.copy_audiofacet(original_audiofacet[0]) copied_audiofacet.story = copied_story copied_audiofacet.owner = user copied_audiofacet.organization = organization copied_audiofacet.save() audiofacet_copy_record = AudioFacetCopyDetail.objects.create_audiofacet_copy_record( original_org=original_org, partner=partner, original_audiofacet=original_audiofacet, partner_audiofacet=copied_audiofacet ) print "Audiofacet Copied" # create copy of audiofacet images original_audiofacet_images = AudioFacet.get_audiofacet_images(original_audiofacet[0]) for image in original_audiofacet_images: copied_image = ImageAsset.copy_image(image) copied_image.owner = user copied_image.organization = organization copied_image.save() imageasset_copy_record = ImageAssetCopyDetail.objects.create_imageasset_copy_record( original_org=original_org, partner=partner, original_imageasset=image, partner_imageasset=copied_image ) # add image to copied audiofacet copied_audiofacet.image_assets.add(copied_image) copied_audiofacet.save() # create copy of audiofacet documents original_audiofacet_documents = AudioFacet.get_audiofacet_documents(original_audiofacet[0]) for document in original_audiofacet_documents: copied_document = DocumentAsset.copy_document(document) copied_document.owner = user copied_document.organization = organization copied_document.save() documentasset_copy_record = DocumentAssetCopyDetail.objects.create_documentasset_copy_record( original_org=original_org, partner=partner, original_documentasset=document, partner_documentasset=copied_document ) # add document to copied audiofacet copied_audiofacet.document_assets.add(copied_document) copied_audiofacet # create copy of audiofacet audio original_audiofacet_audiofiles = AudioFacet.get_audiofacet_audio(original_audiofacet[0]) for audio in original_audiofacet_audios: copied_audio = AudioAsset.copy_audio(audio) copied_audio.owner = user copied_audio.organization = organization copied_audio.save() audioasset_copy_record = AudioAssetCopyDetail.objects.create_audioasset_copy_record( original_org=original_org, partner=partner, original_audioasset=audio, partner_audioasset=copied_audio ) # add audio to copied audiofacet copied_audiofacet.audio_assets.add(copied_audio) copied_audiofacet.save() # create copy of audiofacet video original_audiofacet_video = AudioFacet.get_audiofacet_video(original_audiofacet[0]) for video in original_audiofacet_videos: copied_video = VideoAsset.copy_video(video) copied_video.owner = user copied_video.organization = organization copied_video.save() videoasset_copy_record = VideoAssetCopyDetail.objects.create_videoasset_copy_record( original_org=original_org, partner=partner, original_videoasset=video, partner_videoasset=copied_video ) # add video to copied audiofacet copied_audiofacet.video_assets.add(copied_video) copied_audiofacet.save() # Copy the VideoFacet if original_videofacet: print original_videofacet[0] copied_videofacet = VideoFacet.copy_videofacet(original_videofacet[0]) copied_videofacet.story = copied_story copied_videofacet.owner = user copied_videofacet.organization = organization copied_videofacet.save() videofacet_copy_record = VideoFacetCopyDetail.objects.create_videofacet_copy_record( original_org=original_org, partner=partner, original_videofacet=original_videofacet, partner_videofacet=copied_videofacet ) print "Videofacet Copied" # create copy of videofacet images original_videofacet_images = VideoFacet.get_videofacet_images(original_videofacet[0]) for image in original_videofacet_images: copied_image = ImageAsset.copy_image(image) copied_image.owner = user copied_image.organization = organization copied_image.save() imageasset_copy_record = ImageAssetCopyDetail.objects.create_imageasset_copy_record( original_org=original_org, partner=partner, original_imageasset=image, partner_imageasset=copied_image ) # add image to copied videofacet partner_videofacet.image_assets.add(copied_image) partner_videofacet.save() # create copy of videofacet documents original_videofacet_documents = VideoFacet.get_videofacet_documents(original_videofacet[0]) for document in original_videofacet_documents: copied_document = DocumentAsset.copy_document(document) copied_document.owner = user copied_document.organization = organization copied_document.save() documentasset_copy_record = DocumentAssetCopyDetail.objects.create_documentasset_copy_record( original_org=original_org, partner=partner, original_documentasset=document, partner_documentasset=copied_document ) # add document to copied videofacet partner_documentasset.document_assets.add(copied_document) partner_documentasset.save() # create copy of videofacet audio original_videofacet_audiofiles = VideoFacet.get_videofacet_audio(original_videofacet[0]) for audio in original_videofacet_audiofiles: copied_audio = AudioAsset.copy_audio(audio) copied_audio.owner = user copied_audio.organization = organization copied_audio.save() audioasset_copy_record = AudioAssetCopyDetail.objects.create_audioasset_copy_record( original_org=original_org, partner=partner, original_audioasset=audio, partner_audioasset=copied_audio ) # add audio to copied audiofacet partner_audioasset.audio_assets.add(copied_audio) partner_audioasset.save() # create copy of videofacet video original_videofacet_video = VideoFacet.get_videofacet_video(original_videofacet[0]) for video in original_videofacet_videos: copied_video = VideoAsset.copy_video(video) copied_video.owner = user copied_video.organization = organization copied_video.save() videoasset_copy_record = VideoAssetCopyDetail.objects.create_videoasset_copy_record( original_org=original_org, partner=partner, original_videoasset=video, partner_videoasset=copied_video ) # add video to copied videofacet partner_videoasset.video_assets.add(copied_video) partner_videoasset.save() return redirect('network_stories')
def create_download(request, pk): """ Process download form to collect objects and create download file.""" # get the story and associated facets no matter what options are selected story_id = request.POST.get('story') story = get_object_or_404(Story, id=pk) story_txt = Story.get_story_download(story) select_all_images = [] image_txt = "" select_all_documents = [] document_txt = "" select_all_audio = [] audio_txt = "" if story.webfacetstory.all(): webfacet = story.webfacetstory.all()[0] webfacet_images = WebFacet.get_webfacet_images(webfacet) webfacet_documents = WebFacet.get_webfacet_documents(webfacet) webfacet_audio = WebFacet.get_webfacet_audio(webfacet) select_all_images.extend(webfacet_images) select_all_documents.extend(webfacet_documents) select_all_audio.extend(webfacet_audio) webfacet_txt = WebFacet.get_webfacet_download(webfacet) if story.printfacetstory.all(): printfacet = story.printfacetstory.all()[0] printfacet_images = PrintFacet.get_printfacet_images(printfacet) printfacet_documents = PrintFacet.get_printfacet_documents(printfacet) printfacet_audio = PrintFacet.get_printfacet_audio(printfacet) select_all_images.extend(printfacet_images) select_all_documents.extend(printfacet_documents) select_all_audio.extend(printfacet_audio) printfacet_txt = PrintFacet.get_printfacet_download(printfacet) if story.audiofacetstory.all(): audiofacet = story.audiofacetstory.all()[0] audiofacet_images = AudioFacet.get_audiofacet_images(audiofacet) audiofacet_documents = AudioFacet.get_audiofacet_documents(audiofacet) audiofacet_audio = AudioFacet.get_audiofacet_audio(audiofacet) select_all_images.extend(audiofacet_images) select_all_documents.extend(audiofacet_documents) select_all_audio.extend(audiofacet_audio) audiofacet_txt = AudioFacet.get_audiofacet_download(audiofacet) if story.videofacetstory.all(): videofacet = story.videofacetstory.all()[0] videofacet_images = VideoFacet.get_videofacet_images(videofacet) videofacet_documents = VideoFacet.get_videofacet_documents(videofacet) videofacet_audio = VideoFacet.get_videofacet_audio(videofacet) select_all_images.extend(videofacet_images) select_all_documents.extend(videofacet_documents) select_all_audio.extend(videofacet_audio) videofacet_txt = VideoFacet.get_videofacet_download(videofacet) # Set up zip file fp = StringIO() z = ZipFile(fp, mode="w") # Always Zip up story meta z.writestr("story.txt", story_txt) # ------------------------------ # # IF SELECT ALL # # ------------------------------ # # if select_all is chosen, then all items will be downloaded select_all = request.POST.get('select_all') print "select all: ", select_all if select_all: # Zip up all facets and assets including story metadata if story.webfacetstory.all(): z.writestr("webstory.txt", webfacet_txt) if story.printfacetstory.all(): z.writestr("printstory.txt", printfacet_txt) if story.audiofacetstory.all(): z.writestr("audiostory.txt", audiofacet_txt) if story.videofacetstory.all(): z.writestr("videostory.txt", videofacet_txt) for image in select_all_images: z.writestr("{image}.jpg".format(image=image.asset_title), image.photo.read()) new_info = ImageAsset.get_image_download_info(image) image_txt += new_info for document in select_all_documents: if document.doc_type == "PDF": z.writestr("{document}.pdf".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "WORD": z.writestr("{document}.docx".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "TXT": z.writestr("{document}.txt".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "CSV": z.writestr("{document}.csv".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "XLS": z.writestr("{document}.xls".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info for audiofile in select_all_audio: if audiofile.audio_type == "MP3": z.writestr("{audiofile}.mp3".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info if audiofile.audio_type == "WAV": z.writestr("{audiofile}.wav".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info # user can also select download all items associated with certain facets # ------------------------------ # # IF WEBFACET ALL # # ------------------------------ # webfacet_sa = request.POST.get('webfacet_sa') print "WSA: ", webfacet_sa if webfacet_sa: # Zip up story meta, webfacet content and webfacet images if story.webfacetstory.all(): z.writestr("webstory.txt", webfacet_txt) for image in webfacet_images: z.writestr("{image}.jpg".format(image=image.asset_title), image.photo.read()) new_info = ImageAsset.get_image_download_info(image) image_txt += new_info for document in webfacet_documents: if document.doc_type == "PDF": z.writestr("{document}.pdf".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "WORD": z.writestr("{document}.docx".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "TXT": z.writestr("{document}.txt".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "CSV": z.writestr("{document}.csv".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "XLS": z.writestr("{document}.xls".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info for audiofile in webfacet_audio: if audiofile.audio_type == "MP3": z.writestr("{audiofile}.mp3".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info if audiofile.audio_type == "WAV": z.writestr("{audiofile}.wav".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info # ------------------------------ # # IF PRINTFACET ALL # # ------------------------------ # printfacet_sa = request.POST.get('printfacet_sa') print "PSA: ", printfacet_sa if printfacet_sa: # Zip up story meta, printfacet content and printfacet images if story.printfacetstory.all(): z.writestr("printstory.txt", printfacet_txt) for image in printfacet_images: z.writestr("{image}.jpg".format(image=image.asset_title), image.photo.read()) new_info = ImageAsset.get_image_download_info(image) image_txt += new_info for document in printfacet_documents: if document.doc_type == "PDF": z.writestr("{document}.pdf".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "WORD": z.writestr("{document}.docx".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "TXT": z.writestr("{document}.txt".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "CSV": z.writestr("{document}.csv".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "XLS": z.writestr("{document}.xls".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info for audiofile in printfacet_audio: if audiofile.audio_type == "MP3": z.writestr("{audiofile}.mp3".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info if audiofile.audio_type == "WAV": z.writestr("{audiofile}.wav".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info # ------------------------------ # # IF AUDIOFACET ALL # # ------------------------------ # audiofacet_sa = request.POST.get('audiofacet_sa') print "ASA: ", audiofacet_sa if audiofacet_sa: # Zip up story meta, audiofacet content and audiofacet images if story.audiofacetstory.all(): z.writestr("audiostory.txt", audiofacet_txt) for image in audiofacet_images: z.writestr("{image}.jpg".format(image=image.asset_title), image.photo.read()) new_info = ImageAsset.get_image_download_info(image) image_txt += new_info for document in audiofacet_documents: if document.doc_type == "PDF": z.writestr("{document}.pdf".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "WORD": z.writestr("{document}.docx".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "TXT": z.writestr("{document}.txt".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "CSV": z.writestr("{document}.csv".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "XLS": z.writestr("{document}.xls".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info for audiofile in audiofacet_audio: if audiofile.audio_type == "MP3": z.writestr("{audiofile}.mp3".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info if audiofile.audio_type == "WAV": z.writestr("{audiofile}.wav".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info # ------------------------------ # # IF VIDEOFACET ALL # # ------------------------------ # videofacet_sa = request.POST.get('videofacet_sa') print "VDS: ", videofacet_sa if videofacet_sa: # Zip up story meta, audiofacet content and audiofacet images if story.videofacetstory.all(): z.writestr("videostory.txt", videofacet_txt) for image in videofacet_images: z.writestr("{image}.jpg".format(image=image.asset_title), image.photo.read()) new_info = ImageAsset.get_image_download_info(image) image_txt += new_info for document in videofacet_documents: if document.doc_type == "PDF": z.writestr("{document}.pdf".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "WORD": z.writestr("{document}.docx".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "TXT": z.writestr("{document}.txt".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "CSV": z.writestr("{document}.csv".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "XLS": z.writestr("{document}.xls".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info for audiofile in videofacet_audio: if audiofile.audio_type == "MP3": z.writestr("{audiofile}.mp3".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info if audiofile.audio_type == "WAV": z.writestr("{audiofile}.wav".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info # if not select all OR facet select all, then user chooses the facet and the images # ------------------------------ # # IF WEBFACET SPECIFIC # # ------------------------------ # webfacet_only = request.POST.get('webfacet') if webfacet_only: z.writestr("webstory.txt", webfacet_txt) # ------------------------------ # # IF PRINTFACET SPECIFIC # # ------------------------------ # printfacet_only = request.POST.get('printfacet') if printfacet_only: z.writestr("printstory.txt", printfacet_txt) # ------------------------------ # # IF AUDIOFACET SPECIFIC # # ------------------------------ # audiofacet_only = request.POST.get('audiofacet') if audiofacet_only: z.writestr("audiostory.txt", audiofacet_txt) # ------------------------------ # # IF VIDEOFACET SPECIFIC # # ------------------------------ # videofacet_only = request.POST.get('videofacet') if videofacet_only: z.writestr("videostory.txt", videofacet_txt) # ------------------------------ # # IF SPECIFIC IMAGES # # ------------------------------ # # if not select all or by facet, then user chooses specific images images = request.POST.getlist('images') images = ImageAsset.objects.filter(pk__in=images) print "Images: ", images if images: for image in images: z.writestr("{image}.jpg".format(image=image.asset_title), image.photo.read()) new_info = ImageAsset.get_image_download_info(image) image_txt += new_info # ------------------------------ # # IF SPECIFIC DOCUMENTS # # ------------------------------ # # if not select all or by facet, then user chooses specific documents documents = request.POST.getlist('documents') documents = DocumentAsset.objects.filter(pk__in=documents) print "Documents: ", documents if documents: for document in documents: if document.doc_type == "PDF": z.writestr("{document}.pdf".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "WORD": z.writestr("{document}.docx".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "TXT": z.writestr("{document}.txt".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "CSV": z.writestr("{document}.csv".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info if document.doc_type == "XLS": z.writestr("{document}.xls".format(document=document.asset_title), document.document.read()) new_info = DocumentAsset.get_document_download_info(document) document_txt += new_info # ------------------------------ # # IF SPECIFIC AUDIO # # ------------------------------ # # if not select all or by facet, then user chooses specific audiofiles audiofiles = request.POST.getlist('audiofiles') audiofiles = AudioAsset.objects.filter(pk__in=audiofiles) print "Audiofiles: ", audiofiles if audiofiles: for audiofile in audiofiles: if audiofile.audio_type == "MP3": z.writestr("{audiofile}.mp3".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info if audiofile.audio_type == "WAV": z.writestr("{audiofile}.wav".format(audiofile=document.asset_title), audiofile.audio.read()) new_info = AudioAsset.get_audio_download_info(audiofile) audio_txt += new_info # ------------------------------ # # Create download # # ------------------------------ # #Take the final version of image_txt and write it. z.writestr("image.txt", image_txt) z.writestr("document.txt", document_txt) z.writestr("audio.txt", audio_txt) z.close() fp.seek(0) response = HttpResponse(fp, content_type='application/zip') fp.close() return response
def __init__(self, *args, **kwargs): self.request = kwargs.pop("request") self.story = kwargs.pop("story") super(VideoFacetForm, self).__init__(*args, **kwargs) self.fields["credit"].queryset = Story.get_story_team(self.story) self.fields["editor"].queryset = Story.get_story_team(self.story)