def add_file_contribution(self, doc, value):
     """Raises OrderError if no package or file defined.
     """
     if self.has_package(doc) and self.has_file(doc):
         self.file(doc).add_contrib(value)
     else:
         raise OrderError('File::Contributor')
 def add_file_dep(self, doc, value):
     """Raises OrderError if no package or file defined.
     """
     if self.has_package(doc) and self.has_file(doc):
         self.file(doc).add_depend(value)
     else:
         raise OrderError('File::Dependency')
 def set_file_atrificat_of_project(self, doc, symbol, value):
     """Sets a file name, uri or home artificat.
     Raises OrderError if no package or file defined.
     """
     if self.has_package(doc) and self.has_file(doc):
         self.file(doc).add_artifact(symbol, value)
     else:
         raise OrderError('File::Artificat')
 def add_lic_xref(self, doc, ref):
     """Adds a license cross reference.
     Raises OrderError if no License ID defined.
     """
     if self.has_extr_lic(doc):
         self.extr_lic(doc).add_xref(ref)
         return True
     else:
         raise OrderError('ExtractedLicense::CrossRef')
示例#5
0
 def set_file_name(self, doc, name):
     """Raises OrderError if no package defined.
     """
     if self.has_package(doc):
         doc.package.files.append(file.File(name))
         # A file name marks the start of a new file instance.
         # The builder must be reset
         self.reset_file_stat()
         return True
     else:
         raise OrderError('File::Name')
示例#6
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):
         self.file_notice_set = True
         self.file(doc).notice = text
         return True
     else:
         raise OrderError("File::Notice")
示例#7
0
 def add_annotation_comment(self, doc, comment):
     """Sets the annotation comment. Raises CardinalityError if
     already set. 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')
示例#8
0
 def set_file_notice(self, doc, text):
     """Raises OrderError if no package or file defined.
     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
             self.file(doc).notice = tagvaluebuilders.str_from_text(text)
             return True
         else:
             raise CardinalityError('File::Notice')
     else:
         raise OrderError('File::Notice')
示例#9
0
 def set_file_comment(self, doc, text):
     """Raises OrderError if no package or no file defined.
     Raises 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')
示例#10
0
 def add_review_comment(self, doc, comment):
     """Sets the review comment. Raises CardinalityError if
     already set. 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')
 def set_file_license_in_file(self, doc, lic):
     """
     Raises OrderError if no package or file defined.
     Raises SPDXValueError if malformed value.
     """
     if self.has_package(doc) and self.has_file(doc):
         if validations.validate_file_lics_in_file(lic):
             self.file(doc).add_lics(lic)
             return True
         else:
             raise SPDXValueError('File::LicenseInFile')
     else:
         raise OrderError('File::LicenseInFile')
 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_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')
示例#14
0
 def set_file_license_comment(self, doc, text):
     """
     Raise OrderError if no package or file defined.
     Raise 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")
示例#15
0
 def set_file_copyright(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_copytext_set:
             self.file_copytext_set = True
             self.file(doc).copyright = text
             return True
         else:
             raise CardinalityError("File::CopyRight")
     else:
         raise OrderError("File::CopyRight")
示例#16
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')
示例#17
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")
示例#18
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")
示例#19
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")
示例#20
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_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_file_license_comment(self, doc, text):
     """
     Raises OrderError if no package or file defined.
     Raises SPDXValueError if text is not free form text.
     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
             if validations.validate_file_lics_comment(text):
                 self.file(doc).license_comment = str_from_text(text)
             else:
                 raise SPDXValueError('File::LicenseComment')
         else:
             raise CardinalityError('File::LicenseComment')
     else:
         raise OrderError('File::LicenseComment')
 def add_annotation_comment(self, doc, comment):
     """Sets the annotation comment. Raises CardinalityError if
     already set. OrderError if no annotator defined before.
     Raises SPDXValueError if comment is not free form text.
     """
     if len(doc.annotations) != 0:
         if not self.annotation_comment_set:
             self.annotation_comment_set = True
             if validations.validate_annotation_comment(comment):
                 doc.annotations[-1].comment = str_from_text(comment)
                 return True
             else:
                 raise SPDXValueError('AnnotationComment::Comment')
         else:
             raise CardinalityError('AnnotationComment::Comment')
     else:
         raise OrderError('AnnotationComment::Comment')
 def add_annotation_type(self, doc, annotation_type):
     """Sets the annotation type. Raises CardinalityError if
     already set. OrderError if no annotator defined before.
     Raises SPDXValueError if invalid value.
     """
     if len(doc.annotations) != 0:
         if not self.annotation_type_set:
             self.annotation_type_set = True
             if validations.validate_annotation_type(annotation_type):
                 doc.annotations[-1].annotation_type = annotation_type
                 return True
             else:
                 raise SPDXValueError('Annotation::AnnotationType')
         else:
             raise CardinalityError('Annotation::AnnotationType')
     else:
         raise OrderError('Annotation::AnnotationType')
 def set_lic_comment(self, doc, comment):
     """Sets license comment.
     Raises SPDXValueError if comment is not free form text.
     Raises 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
             if validations.validate_is_free_form_text(comment):
                 self.extr_lic(doc).comment = str_from_text(comment)
                 return True
             else:
                 raise SPDXValueError('ExtractedLicense::comment')
         else:
             raise CardinalityError('ExtractedLicense::comment')
     else:
         raise OrderError('ExtractedLicense::comment')
 def set_lic_name(self, doc, name):
     """Sets license name.
     Raises SPDXValueError if name is not str or utils.NoAssert
     Raises OrderError if no license id defined.
     """
     if self.has_extr_lic(doc):
         if not self.extr_lic_name_set:
             self.extr_lic_name_set = True
             if validations.validate_extr_lic_name(name):
                 self.extr_lic(doc).full_name = name
                 return True
             else:
                 raise SPDXValueError('ExtractedLicense::Name')
         else:
             raise CardinalityError('ExtractedLicense::Name')
     else:
         raise OrderError('ExtractedLicense::Name')
 def add_review_date(self, doc, reviewed):
     """Sets the review date. Raises CardinalityError if
     already set. OrderError if no reviewer defined before.
     Raises SPDXValueError if invalid reviewed value.
     """
     if len(doc.reviews) != 0:
         if not self.review_date_set:
             self.review_date_set = True
             date = utils.datetime_from_iso_format(reviewed)
             if date is not None:
                 doc.reviews[-1].review_date = date
                 return True
             else:
                 raise SPDXValueError('Review::ReviewDate')
         else:
             raise CardinalityError('Review::ReviewDate')
     else:
         raise OrderError('Review::ReviewDate')
 def set_concluded_license(self, doc, lic):
     """
     Raises OrderError if no package or file defined.
     Raises CardinalityError if already set.
     Raises SPDXValueError if malformed.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_conc_lics_set:
             self.file_conc_lics_set = True
             if validations.validate_lics_conc(lic):
                 self.file(doc).conc_lics = lic
                 return True
             else:
                 raise SPDXValueError('File::ConcludedLicense')
         else:
             raise CardinalityError('File::ConcludedLicense')
     else:
         raise OrderError('File::ConcludedLicense')
 def add_annotation_date(self, doc, annotation_date):
     """Sets the annotation date. Raises CardinalityError if
     already set. OrderError if no annotator defined before.
     Raises SPDXValueError if invalid value.
     """
     if len(doc.annotations) != 0:
         if not self.annotation_date_set:
             self.annotation_date_set = True
             date = utils.datetime_from_iso_format(annotation_date)
             if date is not None:
                 doc.annotations[-1].annotation_date = date
                 return True
             else:
                 raise SPDXValueError('Annotation::AnnotationDate')
         else:
             raise CardinalityError('Annotation::AnnotationDate')
     else:
         raise OrderError('Annotation::AnnotationDate')
 def set_file_spdx_id(self, doc, spdx_id):
     """
     Sets the file SPDX Identifier.
     Raises OrderError if no package or no file defined.
     Raises SPDXValueError if malformed value.
     Raises CardinalityError if more than one spdx_id set.
     """
     if self.has_package(doc) and self.has_file(doc):
         if not self.file_spdx_id_set:
             self.file_spdx_id_set = True
             if validations.validate_file_spdx_id(spdx_id):
                 self.file(doc).spdx_id = spdx_id
                 return True
             else:
                 raise SPDXValueError('File::SPDXID')
         else:
             raise CardinalityError('File::SPDXID')
     else:
         raise OrderError('File::SPDXID')