diff --git a/add_to_pydotorg.py b/add_to_pydotorg.py index afce207e..244c10ea 100755 --- a/add_to_pydotorg.py +++ b/add_to_pydotorg.py @@ -208,6 +208,13 @@ def md5sum_for(filename: str) -> str: ).hexdigest() +def sha256sum_for(filename: str) -> str: + """Returns SHA256 checksum for filename.""" + return hashlib.sha256( + open(filename, "rb").read(), + ).hexdigest() + + def filesize_for(filename: str) -> int: return path.getsize(filename) @@ -261,6 +268,7 @@ def build_file_dict( "is_source": os_pk == 3, "url": download_root + f"{base_version(release)}/{rfile}", "md5_sum": md5sum_for(filename), + "sha256sum": sha256sum_for(filename), "filesize": filesize_for(filename), "download_button": add_download, } diff --git a/tests/test_add_to_pydotorg.py b/tests/test_add_to_pydotorg.py index 7a32971e..b73e250c 100644 --- a/tests/test_add_to_pydotorg.py +++ b/tests/test_add_to_pydotorg.py @@ -71,6 +71,7 @@ def test_build_file_dict(tmp_path: Path) -> None: "is_source": False, "url": f"{release_url}/test-artifact.txt", "md5_sum": "3e25960a79dbc69b674cd4ec67a72c62", + "sha256sum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", "filesize": 11, "download_button": True, "sigstore_bundle_file": f"{release_url}/test-artifact.txt.sigstore",