From cba0f0407cae41efbcf40f3ab5c0754f90d8137b Mon Sep 17 00:00:00 2001 From: ndip007 Date: Thu, 8 Feb 2018 10:37:36 +0100 Subject: [PATCH 1/3] Reading multiple spdx tag value files for merging --- examples/merge_tag.py | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 examples/merge_tag.py diff --git a/examples/merge_tag.py b/examples/merge_tag.py new file mode 100644 index 000000000..da728e580 --- /dev/null +++ b/examples/merge_tag.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python + +# Parses a tag/value file and prints out some basic information. +# Usage: parse_tv.py + +if __name__ == '__main__': + import sys + from spdx.parsers.tagvalue import Parser + from spdx.parsers.loggers import StandardLogger + from spdx.parsers.tagvaluebuilders import Builder + import codecs + from spdx.writers.tagvalue import write_document, InvalidDocumentError + from spdx.document import Document, License, LicenseConjunction, ExtractedLicense + from spdx.version import Version + from spdx.creationinfo import Person + from spdx.review import Review + from spdx.package import Package + from spdx.file import File, FileType + from spdx.checksum import Algorithm + from spdx.utils import SPDXNone, NoAssert, UnKnown + + + allFiles = sys.argv + filePosition = 1 + fileData = [] + p = Parser(Builder(), StandardLogger()) + p.build() + + + while filePosition < len(allFiles): + with open(allFiles[filePosition]) as f: + data = f.read() + fileData.append(data); + + filePosition += 1 + + newFileName = input("Enter file name to save: ") + + # with codecs.open(newFileName, mode='w', encoding='utf-8') as newFile: + # try: + # write_document("".join(fileData), newFile) + + # except InvalidDocumentError: + # print ('Document is Invalid') + # messages = [] + # doc.validate(messages) + # print ('\n'.join(messages)) From 9acc7fc03b879732cfd1eac0bad3b02cfdea8081 Mon Sep 17 00:00:00 2001 From: ndip007 Date: Thu, 8 Feb 2018 11:03:48 +0100 Subject: [PATCH 2/3] writing multiple spdx tag value files into one --- examples/merge_tag.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/merge_tag.py b/examples/merge_tag.py index da728e580..30e6e52e6 100644 --- a/examples/merge_tag.py +++ b/examples/merge_tag.py @@ -36,12 +36,12 @@ newFileName = input("Enter file name to save: ") - # with codecs.open(newFileName, mode='w', encoding='utf-8') as newFile: - # try: - # write_document("".join(fileData), newFile) - - # except InvalidDocumentError: - # print ('Document is Invalid') - # messages = [] - # doc.validate(messages) - # print ('\n'.join(messages)) + with codecs.open(newFileName, mode='w', encoding='utf-8') as newFile: + try: + write_document("".join(fileData), newFile) + + except InvalidDocumentError: + print ('Document is Invalid') + messages = [] + doc.validate(messages) + print ('\n'.join(messages)) From 66e508ce2f8238e2d8b6a8162211fd7c2c5c9a7d Mon Sep 17 00:00:00 2001 From: ndip007 Date: Thu, 8 Feb 2018 11:17:56 +0100 Subject: [PATCH 3/3] Update merge_tag.py --- examples/merge_tag.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/merge_tag.py b/examples/merge_tag.py index 30e6e52e6..c05f7a73e 100644 --- a/examples/merge_tag.py +++ b/examples/merge_tag.py @@ -1,7 +1,7 @@ #!/usr/bin/env python -# Parses a tag/value file and prints out some basic information. -# Usage: parse_tv.py +# Merge multiple tag/value file into one. +# Usage: merge_tag.py ... if __name__ == '__main__': import sys