API преобразования Google App Engine не работает с BackendError - PullRequest
4 голосов
/ 20 января 2012

Я пытаюсь преобразовать html в pdf.
Преобразование работает нормально, если я не включаю никакие изображения, но если я включаю изображения, происходит сбой с кодом ошибки 3 иОписание BackendError .
Я имею в виду актив изображения, включенный в static / thumb.jpg в моем html активе.

def prepare_bar_attachment(bars):
    asset = conversion.Asset('text/html',
                             render_template('bar/print.html',
                                             bars=bars),
                             'print.html')
    thumbnail = None
    if bar.thumbnailurl:
        img_response = urlfetch.fetch(bar.thumbnailurl)
        if img_response.status_code == 200:
            thumbnail = conversion.Asset('image/jpeg', img_response.content,
                                         'thumb.jpg')
    conv = conversion.Conversion(asset, 'application/pdf')
    if thumbnail:
        conv.add_asset(thumbnail)
    result = conversion.convert(conv)
    if result.assets:
        attachment = [('Bars.pdf', result.assets[0].data)]
    else:
        attachment = []
        app.logger.error('Error Code: %s\nDescription\%s'%\
                             (result.error_code, result.error_text))
    return attachment

Ответы [ 2 ]

2 голосов
/ 20 января 2012

Вероятно, это связано с тем, что элементы, которые вы сопоставили как статические активы в вашем app.yaml, не могут быть доступны для кода вашего приложения.Попробуйте либо включить изображение где-нибудь в коде, либо не отображать изображения как статические в app.yaml.

Похоже, это произошло потому, что путь img src в html-активе должен совпадать с путем к активу.

0 голосов
/ 03 мая 2012

В моем случае BackendError генерировался, когда я ссылался на изображение, которое не было предоставлено в качестве актива.

Любопытно, что когда на изображение ссылалась CSS, но правило CSS не применялось, оно работало нормально.

Ошибка начала появляться, когда HTML изменился, и ранее неиспользуемое правило CSS - ссылка на отсутствующий актив изображения - было применено к новому / измененному элементу HTML.

Так что можно ссылаться на отсутствующие ресурсы изображения в CSS, если эти правила CSS не используются сами по себе.

...