Gets URLs to changelogs.
    :param session: requests Session instance
    :param name: str, package name
    :param data: dict, meta data
    :param find_changelogs_fn: function, find_changelogs
    :return: tuple, (set(changelog URLs), set(repo URLs))

def get_urls(session, name, data, find_changelogs_fn, **kwargs):
    """
    Gets URLs to changelogs.
    :param session: requests Session instance
    :param name: str, package name
    :param data: dict, meta data
    :param find_changelogs_fn: function, find_changelogs
    :return: tuple, (set(changelog URLs), set(repo URLs))
    """
    # if this package has valid meta data, build up a list of URL candidates we can possibly
    # search for changelogs on
    if "versions" in data:
        candidates = set()
        for version, item in data["versions"].items():
            if "homepage" in item and item["homepage"] is not None:
                if isinstance(item["homepage"], list):
                    candidates.add(*item["homepage"])
                else:
                    candidates.add(item["homepage"])
            if "repository" in item and item["repository"] is not None:
                if "url" in item["repository"]:
                    repo = item["repository"]["url"]
                elif "path" in item["repository"]:
                    repo = item["repository"]["path"]
                else:
                    continue
                repo = repo.replace("git://", "https://").replace(".git", "")
                candidates.add(repo)
        return find_changelogs_fn(session=session, name=name, candidates=candidates)
    return set(), set()