def METHOD_NAME(self, queue_item):
    if not self.api_url:
        return self.legacy_downloader.METHOD_NAME(queue_item)
    wallpaper_url = queue_item["url"]
    logger.info(lambda: "Wallpaper URL: " + wallpaper_url)
    src_url = queue_item["path"]
    logger.info(lambda: "Image src URL: " + src_url)
    extra_metadata = {}
    try:
        wallpaper_info = Util.fetch_json(
            WALLPAPER_INFO_URL % urllib.parse.quote(queue_item["id"])
        )
        extra_metadata["keywords"] = [tag["name"] for tag in wallpaper_info["data"]["tags"]]
    except:
        pass
    try:
        purity = queue_item["purity"]
        sfw_rating = {"sfw": 100, "sketchy": 50, "nsfw": 0}[purity]
        extra_metadata["sfwRating"] = sfw_rating
        if self.is_safe_mode_enabled() and sfw_rating < 100:
            logger.info(
                lambda: "Skipping non-safe download from Wallhaven. "
                "Is the source %s suitable for Safe mode?" % self.config
            )
            return None
    except:
        pass
    return self.save_locally(wallpaper_url, src_url, extra_metadata=extra_metadata)