Ejemplo n.º 1
0
def as_dtb(request, document_id):
    form = DTBForm(request.POST)

    if not form.is_valid():
        return HttpResponseRedirect(reverse('browse_detail', args=[document_id]))

    document = Document.objects.get(pk=document_id)
    inputFile = document.latest_version().content.path
    outputDir = tempfile.mkdtemp(prefix="daisyproducer-")

    DaisyPipeline.dtbook2dtb(inputFile, outputDir, **form.cleaned_data)

    ignore, zipFileName = tempfile.mkstemp(suffix='.zip', prefix=document_id)
    zipDirectory(outputDir, zipFileName, document.title)
    shutil.rmtree(outputDir)

    return render_to_mimetype_response('application/zip', document.title.encode('utf-8'), zipFileName)
Ejemplo n.º 2
0
def preview_dtb(request, document_id):
    document = get_object_or_404(Document, pk=document_id)

    if request.method == 'POST':
        form = DTBForm(request.POST)
        if form.is_valid():
            inputFile = document.latest_version().content.path
            outputDir = tempfile.mkdtemp(prefix="daisyproducer-")
            DaisyPipeline.dtbook2dtb(inputFile, outputDir, **form.cleaned_data)

            ignore, zipFileName = tempfile.mkstemp(suffix='.zip', prefix=document_id)
            zipDirectory(outputDir, zipFileName, document.title)
            # shutil.rmtree(outputDir)

            return render_to_mimetype_response('application/zip', 
                                               document.title.encode('utf-8'), zipFileName)
    else:
        form = DTBForm()

    return render_to_response('documents/todo_dtb.html', locals(),
                              context_instance=RequestContext(request))
Ejemplo n.º 3
0
def preview_dtb(request, document_id):
    document = get_object_or_404(Document, pk=document_id)

    if request.method == 'POST':
        form = DTBForm(request.POST)
        if form.is_valid():
            inputFile = document.latest_version().content.path
            outputDir = tempfile.mkdtemp(prefix="daisyproducer-")
            DaisyPipeline.dtbook2dtb(inputFile, outputDir, **form.cleaned_data)

            zipFile = tempfile.NamedTemporaryFile(suffix='.zip', prefix=document_id, delete=False)
            zipFile.close() # we are only interested in a unique filename
            zipDirectory(outputDir, zipFile.name, document.title)
            shutil.rmtree(outputDir)

            return render_to_mimetype_response('application/zip', 
                                               document.title.encode('utf-8'), zipFile.name)
    else:
        form = DTBForm()

    return render(request, 'documents/todo_dtb.html', locals())