示例#1
0
def export(request, bookid):
    """
    Django View. Returns BookiZip file.

    @param request: Django Request
    @param bookid: Book ID. 
    """

    try:
        book = models.Book.objects.get(url_title__iexact=bookid)
    except models.Book.DoesNotExist:
        return pages.ErrorPage(request, "errors/book_does_not_exist.html", {"book_name": bookid})

    book_version = getVersion(book, None)

    response = HttpResponse(mimetype='application/zip')
    response['Content-Disposition'] = 'attachment; filename=%s.zip' % book.url_title

    # this is not good
    # should not do so much read/write in the memory

    from booki.editor import common
    
    fileName = common.exportBook(book_version)

    response.write(open(fileName, 'rb').read())

    import os
    os.unlink(fileName)

    return response
示例#2
0
def export(request, bookid):
    """
    Django View. Returns BookiZip file.

    @param request: Django Request
    @param bookid: Book ID. 
    """

    try:
        book = models.Book.objects.get(url_title__iexact=bookid)
    except models.Book.DoesNotExist:
        return pages.ErrorPage(request, "errors/book_does_not_exist.html", {"book_name": bookid})

    book_version = book.getVersion(None)

    response = HttpResponse(mimetype='application/zip')
    response['Content-Disposition'] = 'attachment; filename=%s.zip' % book.url_title

    # this is not good
    # should not do so much read/write in the memory

    from booki.editor import common
    
    fileName = common.exportBook(book_version)

    response.write(open(fileName, 'rb').read())

    import os
    os.unlink(fileName)

    return response
示例#3
0
    def handle(self, *args, **options):

        if len(args) == 0:
            raise CommandError("You must specify book name!")

        try:
            book = models.Book.objects.get(url_title__iexact=args[0])
        except models.Book.DoesNotExist:
            raise CommandError('Book "%s" does not exist.' % args[0])

        book_version = book.getVersion(options['book_version'])

        if not book_version:
            raise CommandError('Book version %s does not exist.' % options['book_version'])

        fileName = common.exportBook(book_version)

        exportFileName = None

        if options['output_name']:
            if options['output_name'] == '--':
                print open(fileName,'rb').read(),

                import os
                os.unlink(fileName)
                return 
            else:
                exportFileName = options['output_name']
        else:
            exportFileName = 'export-%s.zip' % book.url_title
        
        shutil.move(fileName, exportFileName)

        if options['verbosity'] in ['1', '2']:
            print 'Book successfully exported into "%s" file.' % exportFileName
示例#4
0
    def handle(self, *args, **options):
        from booki.editor.views import getVersion

        if len(args) == 0:
            raise CommandError("You must specify book name!")

        try:
            book = models.Book.objects.get(url_title__iexact=args[0])
        except models.Book.DoesNotExist:
            raise CommandError('Book "%s" does not exist.' % args[0])

        try:
            book_version = getVersion(book, options['book_version'])
        except models.BookVersion.DoesNotExist:
            raise CommandError('Book version %s does not exist.' %
                               options['book_version'])

        fileName = common.exportBook(book_version)

        exportFileName = None

        if options['output_name']:
            if options['output_name'] == '--':
                print open(fileName, 'rb').read(),

                import os
                os.unlink(fileName)
                return
            else:
                exportFileName = options['output_name']
        else:
            exportFileName = 'export-%s.zip' % book.url_title

        shutil.move(fileName, exportFileName)

        if options['verbosity'] in ['1', '2']:
            print 'Book successfully exported into "%s" file.' % exportFileName
示例#5
0
    def handle(self, *args, **options):
        from booki.editor.views import getVersion

        if len(args) == 0:
            raise CommandError("You must specify book name!")

        try:
            book = models.Book.objects.get(url_title__iexact=args[0])
        except models.Book.DoesNotExist:
            raise CommandError('Book "%s" does not exist.' % args[0])

        try:
            book_version = getVersion(book, options["book_version"])
        except models.BookVersion.DoesNotExist:
            raise CommandError("Book version %s does not exist." % options["book_version"])

        fileName = common.exportBook(book_version)

        exportFileName = None

        if options["output_name"]:
            if options["output_name"] == "--":
                print open(fileName, "rb").read(),

                import os

                os.unlink(fileName)
                return
            else:
                exportFileName = options["output_name"]
        else:
            exportFileName = "export-%s.zip" % book.url_title

        shutil.move(fileName, exportFileName)

        if options["verbosity"] in ["1", "2"]:
            print 'Book successfully exported into "%s" file.' % exportFileName