spdx_tools.spdx3.bump_from_spdx2.checksum

 1# SPDX-FileCopyrightText: 2023 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4from spdx_tools.spdx3.model import Hash, HashAlgorithm
 5from spdx_tools.spdx.model.checksum import Checksum as Spdx2_Checksum
 6from spdx_tools.spdx.model.checksum import ChecksumAlgorithm
 7
 8
 9def bump_checksum(spdx2_checksum: Spdx2_Checksum) -> Hash:
10    algorithm: HashAlgorithm = convert_checksum_algorithm_to_hash_algorithm(spdx2_checksum.algorithm)
11    value: str = spdx2_checksum.value
12
13    return Hash(algorithm, value)
14
15
16def convert_checksum_algorithm_to_hash_algorithm(checksum_algorithm: ChecksumAlgorithm) -> HashAlgorithm:
17    if checksum_algorithm.name.startswith("BLAKE"):
18        return HashAlgorithm[checksum_algorithm.name.replace("_", "")]
19    if checksum_algorithm == ChecksumAlgorithm.ADLER32:
20        return HashAlgorithm.OTHER
21    return HashAlgorithm[checksum_algorithm.name]
def bump_checksum( spdx2_checksum: spdx_tools.spdx.model.checksum.Checksum) -> spdx_tools.spdx3.model.hash.Hash:
10def bump_checksum(spdx2_checksum: Spdx2_Checksum) -> Hash:
11    algorithm: HashAlgorithm = convert_checksum_algorithm_to_hash_algorithm(spdx2_checksum.algorithm)
12    value: str = spdx2_checksum.value
13
14    return Hash(algorithm, value)
def convert_checksum_algorithm_to_hash_algorithm( checksum_algorithm: spdx_tools.spdx.model.checksum.ChecksumAlgorithm) -> spdx_tools.spdx3.model.hash.HashAlgorithm:
17def convert_checksum_algorithm_to_hash_algorithm(checksum_algorithm: ChecksumAlgorithm) -> HashAlgorithm:
18    if checksum_algorithm.name.startswith("BLAKE"):
19        return HashAlgorithm[checksum_algorithm.name.replace("_", "")]
20    if checksum_algorithm == ChecksumAlgorithm.ADLER32:
21        return HashAlgorithm.OTHER
22    return HashAlgorithm[checksum_algorithm.name]