def METHOD_NAME(self):
    queue = []
    not_random = not "sorting=random" in self.url
    if not_random:
        s, count = self.search()
        if not count:
            count = 300
        pages = min(count, 300) // 24 + 1
        page = random.randint(1, pages)
        logger.info(lambda: "%s wallpapers in result, using page %s" % (count, page))
        s, count = self.search(page=page)
    else:
        s, count = self.search()
    thumbs = s.find_all("figure", {"class": "thumb"})
    for thumb in thumbs:
        try:
            p = list(map(int, thumb.find("span", {"class": "wall-res"}).contents[0].split("x")))
            width = p[0]
            height = p[1]
            if self.is_size_inadequate(width, height):
                continue
        except Exception:
            # missing or unparseable resolution - consider ok
            pass
        try:
            link = thumb.find("a", {"class": "preview"})["href"]
            if self.is_in_banned(link):
                continue
            queue.append(link)
        except Exception:
            logger.debug(lambda: "Missing link for thumbnail")
    random.shuffle(queue)
    if not_random and len(queue) >= 20:
        queue = queue[: len(queue) // 2]
        # only use randomly half the images from the page -
        # if we ever hit that same page again, we'll still have what to download
    return queue