コード例 #1
0
ファイル: epub.py プロジェクト: slimlime/regluit
def ungluify(epub_file, campaign):
    output = EPUB(epub_file, "a")
    context = {'campaign': campaign}
    part = StringIO(unicode(render_to_string('epub/cc_license.xhtml',
                                             context)))
    output.addpart(part, "cc_license.xhtml", "application/xhtml+xml",
                   1)  #after title, we hope
    output.addmetadata('rights', campaign.license_url)
    output.close()
    return output
コード例 #2
0
ファイル: validation.py プロジェクト: saspi/regluit
def test_file(the_file, fformat):
    if the_file and the_file.name:
        if fformat == 'epub':
            try:
                book = EPUB(the_file.file)
            except Exception as e:
                raise ValidationError(_('Are you sure this is an EPUB file?: %s' % e))
        elif fformat == 'mobi':
            try:
                book = Mobi(the_file.file)
                book.parse()
            except Exception as e:
                raise ValidationError(_('Are you sure this is a MOBI file?: %s' % e))
        elif fformat == 'pdf':
            try:
                PdfFileReader(the_file.file)
            except Exception, e:
                raise ValidationError(_('%s is not a valid PDF file' % the_file.name))
コード例 #3
0
ファイル: epub.py プロジェクト: slimlime/regluit
def personalize(epub_file, acq):
    output = EPUB(epub_file, "a")
    context = {'acq': acq}
    part = StringIO(
        unicode(render_to_string('epub/datedcc_license.xhtml', context)))
    output.addpart(part, "datedcc_license.xhtml", "application/xhtml+xml",
                   1)  #after title, we hope
    output.addmetadata(
        'rights', '%s after %s' % (acq.work.last_campaign().license_url,
                                   acq.work.last_campaign().cc_date))
    personalized_epub = StringIO()
    output.writetodisk(personalized_epub)
    #logger.info("personalized")
    return personalized_epub
コード例 #4
0
ファイル: epub.py プロジェクト: slimlime/regluit
def test_epub(epub_file):
    try:
        output = EPUB(epub_file, "a")
        output.close()
        #just use Booxtream to run epubcheck
        params = {
            'customername': 'epubcheck',
            'languagecode': '1033',
            'expirydays': 1,
            'downloadlimit': 1,
            'exlibris': 0,
            'chapterfooter': 0,
            'disclaimer': 0,
            'referenceid': 'N/A',
            'kf8mobi': False,
            'epub': True,
        }
        output.filename.seek(0)
        boox = watermarker.platform(epubfile=output.filename, **params)
        return None
    except Exception as e:
        return "error:%s" % e
コード例 #5
0
ファイル: epub.py プロジェクト: slimlime/regluit
def ask_epub(epub_file, context):
    output = EPUB(epub_file, "a")
    part = StringIO(unicode(render_to_string('epub/ask.xhtml', context)))
    output.addpart(part, "ask.xhtml", "application/xhtml+xml",
                   1)  #after title, we hope
    asking_epub = StringIO()
    output.writetodisk(asking_epub)
    return asking_epub