mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-11-04 03:27:00 -05: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