Ejemplo n.º 1
0
def GetCoverImage(page: pywikibot.Page):
    '''
    Gets the cover image name and url for a specific Page.
    Returns (None, None) if no cover image is found.
    '''
    try:
        return page.__lmd_cover_image
    except:
        pass
    req = page.site._simple_request(action="query",
                                    titles=page.title(),
                                    prop="pageimages",
                                    piprop="thumbnail|name",
                                    pithumbsize=400)
    data = req.submit()
    assert "query" in data, "API request response lacks 'query' key"
    assert "pages" in data["query"], "API request response lacks 'pages' key"
    _, jpage = data["query"]["pages"].popitem()
    if "thumbnail" in jpage:
        page.__lmd_cover_image = (jpage["pageimage"],
                                  jpage["thumbnail"]["source"])
    else:
        page.__lmd_cover_image = (None, None)
    return page.__lmd_cover_image