mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Update BBC News for changes in website
This commit is contained in:
parent
b63efc28f7
commit
fed594a8f9
@ -12,18 +12,20 @@ from calibre.web.feeds.recipes import BasicNewsRecipe
|
|||||||
def serialize_image(block):
|
def serialize_image(block):
|
||||||
yield '<div>'
|
yield '<div>'
|
||||||
block = block['model']
|
block = block['model']
|
||||||
media = block['media']
|
img = block['image']
|
||||||
alt = prepare_string_for_xml(media.get('alt') or '', True)
|
alt = prepare_string_for_xml(img.get('alt') or '', True)
|
||||||
for q in ('originalSrc', 'src'):
|
for q in ('originalSrc', 'src'):
|
||||||
if q in media:
|
if q in img:
|
||||||
src = prepare_string_for_xml(media[q])
|
src = prepare_string_for_xml(img[q])
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
raise ValueError('No src found in media block: {}'.format(media))
|
raise ValueError('No src found in img block: {}'.format(img))
|
||||||
yield '<img src="{}" alt="{}"/>'.format(src, alt)
|
yield '<img src="{}" alt="{}"/>'.format(src, alt)
|
||||||
caption = block.get('caption')
|
caption = block.get('caption')
|
||||||
if caption:
|
if caption and caption.get('type') == 'text':
|
||||||
yield '<div>{}</div>'.format(prepare_string_for_xml(caption))
|
yield '<div>'
|
||||||
|
yield from serialize_paragraph(caption)
|
||||||
|
yield '</div>'
|
||||||
yield '</div>'
|
yield '</div>'
|
||||||
|
|
||||||
|
|
||||||
@ -102,7 +104,7 @@ def parse_article_json(root, abort_article):
|
|||||||
lines.append('<h1>{}</h1>'.format(prepare_string_for_xml(article['headline'])))
|
lines.append('<h1>{}</h1>'.format(prepare_string_for_xml(article['headline'])))
|
||||||
if article.get('contributor'):
|
if article.get('contributor'):
|
||||||
lines.extend(serialize_contributor(article['contributor']))
|
lines.extend(serialize_contributor(article['contributor']))
|
||||||
for block in article['blocks']:
|
for block in article['content']['model']['blocks']:
|
||||||
bt = block.get('type')
|
bt = block.get('type')
|
||||||
if bt == 'image':
|
if bt == 'image':
|
||||||
lines.extend(serialize_image(block))
|
lines.extend(serialize_image(block))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user