def set_doc_comment(self, doc, comment):
     """Sets document comment, Raises CardinalityError if
     comment already set.
     Raises SPDXValueError if comment is not free form text.
     """
     if not self.doc_comment_set:
         self.doc_comment_set = True
         if validations.validate_doc_comment(comment):
             doc.comment = str_from_text(comment)
             return True
         else:
             raise SPDXValueError('Document::Comment')
     else:
         raise CardinalityError('Document::Comment')
Beispiel #2
0
 def set_file_comment(self, doc, text):
     """
     Raise OrderError if no package or no file defined.
     Raise CardinalityError if more than one comment set.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_comment_set:
             self.file_comment_set = True
             self.file(doc).comment = text
             return True
         else:
             raise CardinalityError("File::Comment")
     else:
         raise OrderError("File::Comment")
 def set_doc_data_lics(self, doc, lics):
     """Sets the document data license.
     Raises value error if malformed value, CardinalityError
     if already defined.
     """
     if not self.doc_data_lics_set:
         self.doc_data_lics_set = True
         if validations.validate_data_lics(lics):
             doc.data_license = document.License.from_identifier(lics)
             return True
         else:
             raise SPDXValueError('Document::DataLicense')
     else:
         raise CardinalityError('Document::DataLicense')
 def set_doc_spdx_id(self, doc, doc_spdx_id_line):
     """Sets the document SPDX Identifier.
     Raises value error if malformed value, CardinalityError
     if already defined.
     """
     if not self.doc_spdx_id_set:
         if doc_spdx_id_line == 'SPDXRef-DOCUMENT':
             doc.spdx_id = doc_spdx_id_line
             self.doc_spdx_id_set = True
             return True
         else:
             raise SPDXValueError('Document::SPDXID')
     else:
         raise CardinalityError('Document::SPDXID')
 def set_annotation_spdx_id(self, doc, spdx_id):
     """Sets the annotation SPDX Identifier.
     Raises CardinalityError if already set. OrderError if no annotator
     defined before.
     """
     if len(doc.annotations) != 0:
         if not self.annotation_spdx_id_set:
             self.annotation_spdx_id_set = True
             doc.annotations[-1].spdx_id = spdx_id
             return True
         else:
             raise CardinalityError('Annotation::SPDXREF')
     else:
         raise OrderError('Annotation::SPDXREF')
 def set_file_chksum(self, doc, chksum):
     """
     Raises OrderError if no package or file defined.
     Raises CardinalityError if more than one chksum set.
     """
     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_from_sha1(chksum)
             return True
         else:
             raise CardinalityError('File::CheckSum')
     else:
         raise OrderError('File::CheckSum')
 def set_creation_comment(self, doc, comment):
     """Sets creation comment, Raises CardinalityError if
     comment already set.
     Raises SPDXValueError if not free form text.
     """
     if not self.creation_comment_set:
         self.creation_comment_set = True
         if validations.validate_creation_comment(comment):
             doc.creation_info.comment = str_from_text(comment)
             return True
         else:
             raise SPDXValueError('CreationInfo::Comment')
     else:
         raise CardinalityError('CreationInfo::Comment')
 def set_lics_list_ver(self, doc, value):
     """Sets the license list version, Raises CardinalityError if
     already set, SPDXValueError if incorrect value.
     """
     if not self.lics_list_ver_set:
         self.lics_list_ver_set = True
         vers = version.Version.from_str(value)
         if vers is not None:
             doc.creation_info.license_list_version = vers
             return True
         else:
             raise SPDXValueError('CreationInfo::LicenseListVersion')
     else:
         raise CardinalityError('CreationInfo::LicenseListVersion')
 def set_doc_namespace(self, doc, namespace):
     """Sets the document namespace.
     Raise SPDXValueError if malformed value, CardinalityError
     if already defined.
     """
     if not self.doc_namespace_set:
         self.doc_namespace_set = True
         if validations.validate_doc_namespace(namespace):
             doc.namespace = namespace
             return True
         else:
             raise SPDXValueError('Document::Namespace')
     else:
         raise CardinalityError('Document::Comment')
 def set_file_license_comment(self, doc, text):
     """
     Raises OrderError if no package or file defined.
     Raises CardinalityError if more than one per file.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_license_comment_set:
             self.file_license_comment_set = True
             self.file(doc).license_comment = text
             return True
         else:
             raise CardinalityError('File::LicenseComment')
     else:
         raise OrderError('File::LicenseComment')
Beispiel #11
0
 def set_file_notice(self, doc, text):
     """
     Raise OrderError if no package or file defined.
     Raise CardinalityError if more than one.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_notice_set:
             self.file_notice_set = True
             self.file(doc).notice = tagvaluebuilders.str_from_text(text)
             return True
         else:
             raise CardinalityError("File::Notice")
     else:
         raise OrderError("File::Notice")
Beispiel #12
0
 def set_pkg_source_info(self, doc, text):
     """
     Set the package's source information, if not already set.
     text - Free form text.
     Raise CardinalityError if already defined.
     Raise OrderError if no package previously defined.
     """
     self.assert_package_exists()
     if not self.package_source_info_set:
         self.package_source_info_set = True
         doc.packages[-1].source_info = text
         return True
     else:
         raise CardinalityError("Package::SourceInfo")
 def set_created_date(self, doc, created):
     """Sets created date, Raises CardinalityError if
     created date already set.
     Raises SPDXValueError if created is not a date.
     """
     if not self.created_date_set:
         self.created_date_set = True
         date = utils.datetime_from_iso_format(created)
         if date is not None:
             doc.creation_info.created = date
             return True
         else:
             raise SPDXValueError('CreationInfo::Date')
     else:
         raise CardinalityError('CreationInfo::Created')
Beispiel #14
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')
Beispiel #15
0
 def add_annotation_comment(self, doc, comment):
     """
     Set the annotation comment.
     Raise CardinalityError if already set.
     Raise OrderError if no annotator defined before.
     """
     if len(doc.annotations) != 0:
         if not self.annotation_comment_set:
             self.annotation_comment_set = True
             doc.annotations[-1].comment = comment
             return True
         else:
             raise CardinalityError("AnnotationComment")
     else:
         raise OrderError("AnnotationComment")
Beispiel #16
0
 def add_relationship_comment(self, doc, comment):
     """
     Set the relationship comment.
     Raise CardinalityError if already set.
     Raise OrderError if no annotator defined before.
     """
     if len(doc.relationships) != 0:
         if not self.relationship_comment_set:
             self.relationship_comment_set = True
             doc.relationships[-1].comment = comment
             return True
         else:
             raise CardinalityError("RelationshipComment")
     else:
         raise OrderError("RelationshipComment")
Beispiel #17
0
 def set_lic_comment(self, doc, comment):
     """
     Set license comment.
     Raise CardinalityError if it is already set.
     Raise OrderError if no license ID defined.
     """
     if self.has_extr_lic(doc):
         if not self.extr_lic_comment_set:
             self.extr_lic_comment_set = True
             self.extr_lic(doc).comment = comment
             return True
         else:
             raise CardinalityError("ExtractedLicense::comment")
     else:
         raise OrderError("ExtractedLicense::comment")
Beispiel #18
0
 def set_file_notice(self, doc, text):
     """
     Set file notice
     Raise OrderError if no package or file defined.
     Raise CardinalityError if more than one.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_notice_set:
             self.file_notice_set = True
             self.file(doc).notice = text
             return True
         else:
             raise CardinalityError("File::Notice")
     else:
         raise OrderError("File::Notice")
Beispiel #19
0
 def set_doc_data_lic(self, doc, res):
     """Sets the document data license.
     Raises value error if malformed value, CardinalityError
     if already defined.
     """
     if not self.doc_data_lics_set:
         self.doc_data_lics_set = True
         res_parts = res.split('/')
         if len(res_parts) != 0:
             identifier = res_parts[-1]
             doc.data_license = document.License.from_identifier(identifier)
         else:
             raise SPDXValueError('Document::License')
     else:
         raise CardinalityError('Document::License')
Beispiel #20
0
 def set_lic_text(self, doc, text):
     """
     Set license name.
     Raise CardinalityError if it is already set.
     Raise OrderError if no license id defined.
     """
     if self.has_extr_lic(doc):
         if not self.extr_text_set:
             self.extr_text_set = True
             self.extr_lic(doc).text = text
             return True
         else:
             raise CardinalityError("ExtractedLicense::text")
     else:
         raise OrderError("ExtractedLicense::text")
Beispiel #21
0
 def add_review_comment(self, doc, comment):
     """
     Set the review comment.
     Raise CardinalityError if already set.
     Raise OrderError if no reviewer defined before.
     """
     if len(doc.reviews) != 0:
         if not self.review_comment_set:
             self.review_comment_set = True
             doc.reviews[-1].comment = comment
             return True
         else:
             raise CardinalityError("ReviewComment")
     else:
         raise OrderError("ReviewComment")
Beispiel #22
0
 def set_doc_spdx_id(self, doc, doc_spdx_id_line):
     """
     Set the document SPDX Identifier.
     Raise value error if malformed value.
     Raise CardinalityError if already defined.
     """
     if not self.doc_spdx_id_set:
         if validations.validate_doc_spdx_id(doc_spdx_id_line):
             doc.spdx_id = doc_spdx_id_line
             self.doc_spdx_id_set = True
             return True
         else:
             raise SPDXValueError("Document::SPDXID")
     else:
         raise CardinalityError("Document::SPDXID")
 def set_pkg_desc(self, doc, text):
     """Set's the package's description.
     Raises SPDXValueError if text is not free form text.
     Raises CardinalityError if description already set.
     Raises OrderError if no package previously defined.
     """
     self.assert_package_exists()
     if not self.package_desc_set:
         self.package_desc_set = True
         if validations.validate_pkg_desc(text):
             doc.package.description = str_from_text(text)
         else:
             raise SPDXValueError('Package::Description')
     else:
         raise CardinalityError('Package::Description')
Beispiel #24
0
 def set_pkg_ext_ref_comment(self, doc, comment):
     """
     Set the package's external reference comment.
     Raise CardinalityError if comment already set.
     Raise OrderError if no package previously defined.
     """
     self.assert_package_exists()
     if not len(doc.package.pkg_ext_refs):
         raise OrderError("Package::ExternalRef")
     if not self.pkg_ext_comment_set:
         self.pkg_ext_comment_set = True
         doc.package.pkg_ext_refs[-1].comment = comment
         return True
     else:
         raise CardinalityError("ExternalRef::Comment")
 def set_pkg_summary(self, doc, text):
     """Set's the package summary.
     Raises SPDXValueError if text is not free form text.
     Raises CardinalityError if summary already set.
     Raises OrderError if no package previously defined.
     """
     self.assert_package_exists()
     if not self.package_summary_set:
         self.package_summary_set = True
         if validations.validate_pkg_summary(text):
             doc.package.summary = str_from_text(text)
         else:
             raise SPDXValueError('Package::Summary')
     else:
         raise CardinalityError('Package::Summary')
 def set_pkg_license_declared(self, doc, lic):
     """Sets the package's declared license.
     Raises SPDXValueError if data malformed.
     Raises OrderError if no package previously defined.
     Raises CardinalityError if already set.
     """
     self.assert_package_exists()
     if not self.package_license_declared_set:
         self.package_license_declared_set = True
         if validations.validate_lics_conc(lic):
             doc.package.license_declared = lic
             return True
         else:
             raise SPDXValueError('Package::LicenseDeclared')
     else:
         raise CardinalityError('Package::LicenseDeclared')
 def set_file_notice(self, doc, text):
     """Raises OrderError if no package or file defined.
     Raises SPDXValueError if not free form text.
     Raises CardinalityError if more than one.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_notice_set:
             self.file_notice_set = True
             if validations.validate_file_notice(text):
                 self.file(doc).notice = str_from_text(text)
             else:
                 raise SPDXValueError('File::Notice')
         else:
             raise CardinalityError('File::Notice')
     else:
         raise OrderError('File::Notice')
 def set_pkg_license_comment(self, doc, text):
     """Sets the package's license comment.
     Raises OrderError if no package previously defined.
     Raises CardinalityError if already set.
     Raises SPDXValueError if text is not free form text.
     """
     self.assert_package_exists()
     if not self.package_license_comment_set:
         self.package_license_comment_set = True
         if validations.validate_pkg_lics_comment(text):
             doc.package.license_comment = str_from_text(text)
             return True
         else:
             raise SPDXValueError('Package::LicenseComment')
     else:
         raise CardinalityError('Package::LicenseComment')
 def set_snip_concluded_license(self, doc, conc_lics):
     """
     Raises OrderError if no snippet previously defined.
     Raises CardinalityError if already set.
     Raises SPDXValueError if the data is a malformed value.
     """
     self.assert_snippet_exists()
     if not self.snippet_conc_lics_set:
         self.snippet_conc_lics_set = True
         if validations.validate_lics_conc(conc_lics):
             doc.snippet[-1].conc_lics = conc_lics
             return True
         else:
             raise SPDXValueError('Snippet::SnippetLicenseConcluded')
     else:
         raise CardinalityError('Snippet::SnippetLicenseConcluded')
 def set_pkg_originator(self, doc, entity):
     """Sets the package originator, if not already set.
     entity - Organization, Person or NoAssert.
     Raises CardinalityError if already has an originator.
     Raises OrderError if no package previously defined.
     """
     self.assert_package_exists()
     if not self.package_originator_set:
         self.package_originator_set = True
         if validations.validate_pkg_originator(entity):
             doc.package.originator = entity
             return True
         else:
             raise SPDXValueError('Package::Originator')
     else:
         raise CardinalityError('Package::Originator')