def to_dict(cls, doc):
     """
     Represents a SPDX Document (spdx.document.Document) as nested Python types
     """
     creators = sorted(doc.creation_info.creators, key=lambda c: c.name)
     return OrderedDict([
         ('id', doc.spdx_id),
         ('specVersion', cls.version_to_dict(doc.version)),
         ('namespace', doc.namespace),
         ('name', doc.name),
         ('comment', doc.comment),
         ('dataLicense', cls.license_to_dict(doc.data_license)),
         ('licenseListVersion',
          cls.version_to_dict(doc.creation_info.license_list_version)),
         ('creators', [cls.entity_to_dict(creator)
                       for creator in creators]),
         ('created', utils.datetime_iso_format(doc.creation_info.created)),
         ('creatorComment', doc.creation_info.comment),
         ('package', cls.package_to_dict(doc.package)),
         ('externalDocumentRefs',
          cls.ext_document_references_to_list(
              sorted(doc.ext_document_references))),
         ('extractedLicenses',
          cls.extracted_licenses_to_list(sorted(doc.extracted_licenses))),
         ('annotations', cls.annotations_to_list(sorted(doc.annotations))),
         ('reviews', cls.reviews_to_list(sorted(doc.reviews))),
         ('snippets', cls.snippets_to_list(sorted(doc.snippet))),
     ])
Exemple #2
0
    def reviews_to_list(cls, reviews):
        """
        Represents a list of spdx.review.Review as a Python list of dictionaries
        """
        reviews_list = []

        for review in reviews:
            review_dict = {
                'comment': review.comment,
                'reviewer': cls.entity_to_dict(review.reviewer),
                'date': utils.datetime_iso_format(review.review_date)
            }
            reviews_list.append(review_dict)

        return reviews_list
    def reviews_to_list(cls, reviews):
        """
        Represents a list of spdx.review.Review as a Python list of dictionaries
        """
        reviews_list = []

        for review in reviews:
            review_dict = OrderedDict([
                ('comment', review.comment),
                ('reviewer', cls.entity_to_dict(review.reviewer)),
                ('date', utils.datetime_iso_format(review.review_date))
            ])
            reviews_list.append(review_dict)

        return reviews_list
Exemple #4
0
    def annotations_to_list(cls, annotations):
        """
        Represents a list of spdx.annotation.Annotation as a Python list of dictionaries
        """
        annotations_list = []

        for annotation in annotations:
            annotation_dict = {
                'id': annotation.spdx_id,
                'comment': annotation.comment,
                'type': annotation.annotation_type,
                'annotator': cls.entity_to_dict(annotation.annotator),
                'date': utils.datetime_iso_format(annotation.annotation_date)
            }
            annotations_list.append(annotation_dict)

        return annotations_list
Exemple #5
0
    def annotations_to_list(cls, annotations):
        """
        Represents a list of spdx.annotation.Annotation as a Python list of dictionaries
        """
        annotations_list = []

        for annotation in annotations:
            annotation_dict = OrderedDict([
                ('id', annotation.spdx_id),
                ('comment', annotation.comment),
                ('type', annotation.annotation_type),
                ('annotator', cls.entity_to_dict(annotation.annotator)),
                ('date', utils.datetime_iso_format(annotation.annotation_date)),
            ])
            annotations_list.append(annotation_dict)

        return annotations_list
Exemple #6
0
 def to_dict(cls, doc):
     """
     Represents a SPDX Document (spdx.document.Document) as nested Python types
     """
     creators = sorted(doc.creation_info.creators, key=lambda c: c.name)
     return {
         'id':
         doc.spdx_id,
         'specVersion':
         cls.version_to_dict(doc.version),
         'namespace':
         doc.namespace,
         'name':
         doc.name,
         'comment':
         doc.comment,
         'dataLicense':
         cls.license_to_dict(doc.data_license),
         'licenseListVersion':
         cls.version_to_dict(doc.creation_info.license_list_version),
         'creators': [cls.entity_to_dict(creator) for creator in creators],
         'created':
         utils.datetime_iso_format(doc.creation_info.created),
         'creatorComment':
         doc.creation_info.comment,
         'package':
         cls.package_to_dict(doc.package),
         'externalDocumentRefs':
         cls.ext_document_references_to_list(
             sorted(doc.ext_document_references)),
         'extractedLicenses':
         cls.extracted_licenses_to_list(sorted(doc.extracted_licenses)),
         'annotations':
         cls.annotations_to_list(sorted(doc.annotations)),
         'reviews':
         cls.reviews_to_list(sorted(doc.reviews))
     }
 def annotation_date_iso_format(self):
     return datetime_iso_format(self.annotation_date)
Exemple #8
0
 def review_date_iso_format(self):
     return datetime_iso_format(self.review_date)
Exemple #9
0
 def created_iso_format(self):
     return utils.datetime_iso_format(self.created)