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')
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')
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")
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')
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')
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')
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')
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")
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")
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')
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")
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")
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")
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')