Пример #1
0
 def set_chksum(self, doc, chk_sum):
     """
     Sets the external document reference's check sum, if not already set.
     chk_sum - The checksum value in the form of a string.
     """
     if chk_sum:
         doc.ext_document_references[-1].check_sum = checksum.Algorithm(
             'SHA1', chk_sum)
     else:
         raise SPDXValueError('ExternalDocumentRef::Checksum')
Пример #2
0
def checksum_from_sha1(value):
    """Returns an spdx.checksum.Algorithm instance representing the SHA1
    checksum. Returns None if doesn't match CHECKSUM_RE.
    """
    # More constrained regex at lexer level
    CHECKSUM_RE = re.compile('SHA1:(.+)', re.UNICODE)
    match = CHECKSUM_RE.match(value)
    if match:
        return checksum.Algorithm(identifier='SHA1', value=match.group(1))
    else:
        return None
Пример #3
0
 def set_pkg_chk_sum(self, doc, chk_sum):
     """Sets the package check sum, if not already set.
     chk_sum - A string
     Raises CardinalityError if already defined.
     Raises OrderError if no package previously defined.
     """
     self.assert_package_exists()
     if not self.package_chk_sum_set:
         self.package_chk_sum_set = True
         doc.package.check_sum = checksum.Algorithm('SHA1', chk_sum)
     else:
         raise CardinalityError('Package::CheckSum')
Пример #4
0
 def set_file_chksum(self, doc, chk_sum):
     """Sets the file check sum, if not already set.
     chk_sum - A string
     Raises CardinalityError if already defined.
     Raises OrderError if no package previously defined.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_chksum_set:
             self.file_chksum_set = True
             self.file(doc).chk_sum = checksum.Algorithm('SHA1', chk_sum)
             return True
         else:
             raise CardinalityError('File::CheckSum')
     else:
         raise OrderError('File::CheckSum')