def get_sha()

in crashclouseau/java.py [0:0]


def get_sha(path, filename, sleep=0.1, retry=10):
    url = "{}/contents/{}".format(GITHUB_URL, path)
    for _ in range(retry):
        r = requests.get(url)
        if r.status_code == 200:
            for data in r.json():
                if data["name"] == filename:
                    return data["sha"]
            raise Exception("Cannot get GitHub sha for {}/{}".format(path, filename))
        else:
            time.sleep(sleep)
    raise Exception("Too many attempts in java.get_sha (retry={})".format(retry))