[bbc] provide fallback URLs (#1706)

pull/1740/head
Mike Fährmann 3 years ago
parent a316e44f8e
commit ac91a84543
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -54,10 +54,18 @@ class BbcGalleryExtractor(GalleryExtractor):
dimensions = "/{}xn/".format(width) dimensions = "/{}xn/".format(width)
return [ return [
(src.replace("/320x180_b/", dimensions), None) (src.replace("/320x180_b/", dimensions),
{"_fallback": self._fallback_urls(src, width)})
for src in text.extract_iter(page, 'data-image-src="', '"') for src in text.extract_iter(page, 'data-image-src="', '"')
] ]
@staticmethod
def _fallback_urls(src, max_width):
front, _, back = src.partition("/320x180_b/")
for width in (1920, 1600, 1280, 976):
if width < max_width:
yield "{}/{}xn/{}".format(front, width, back)
class BbcProgrammeExtractor(Extractor): class BbcProgrammeExtractor(Extractor):
"""Extractor for all galleries of a bbc programme""" """Extractor for all galleries of a bbc programme"""

Loading…
Cancel
Save