X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ri%2Fsrc%2Fmain%2Fresources%2FyangResourceCsvGenerator.py;h=3a076d4378422c82bfdcd2bec278000a066446ed;hb=0cbc448573409a43eb3bf7b4c9cb49d418a4c999;hp=9a4077bbd23552cf8951400f74bc8af8b02f3444;hpb=d72b27b95704803468f7812602b66220e2c71c7d;p=cps.git diff --git a/cps-ri/src/main/resources/yangResourceCsvGenerator.py b/cps-ri/src/main/resources/yangResourceCsvGenerator.py index 9a4077bbd..3a076d437 100644 --- a/cps-ri/src/main/resources/yangResourceCsvGenerator.py +++ b/cps-ri/src/main/resources/yangResourceCsvGenerator.py @@ -18,21 +18,49 @@ import csv +import datetime import hashlib import sys +import re yang_source = '' checksum = '' +regexForModuleName = '(?<=module)(.*)(?={)' +regexForRevision = '(?<=revision)(.*)(?={)' -for yang_source in sys.argv[1:]: - checksum = hashlib.sha256(str(yang_source).encode()).hexdigest() +def main(): + for yang_source in sys.argv[1:]: + checksum = hashlib.sha256(str(yang_source).encode()).hexdigest() -with open('changelog/db/changes/data/yang-models/' + yang_source + '.yang') as content: - dmiRegistry = content.read() + with open('changelog/db/changes/data/yang-models/' + yang_source + '.yang', 'r') as content: + dmiRegistry = content.read() -# open the file in the write mode -with open('changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_' + yang_source + '.csv', 'w', newline='') \ - as file: - writer = csv.writer(file, delimiter='|') - writer.writerow(["name", "content", "checksum"]) - writer.writerow([yang_source + '.yang', dmiRegistry, checksum]) + try: + latestRevision = re.search(regexForRevision, dmiRegistry).group(0).replace('\"','').strip() + except: + print("ERROR IN in yangResourceCsvGenerator.py: Unable to find revision for " + yang_source + '.yang') + + try: + module_name = re.search(regexForModuleName, dmiRegistry).group(0).strip() + except: + print("ERROR IN in yangResourceCsvGenerator.py: Unable to find module name for " + yang_source + '.yang') + + #If true, file was created after module_name and revision columns were added to yang-resources table + writeWithModuleNameAndRevision = yang_source != 'dmi-registry@2021-12-13' + + try: + # open the file in the write mode + with open('changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_' + yang_source + '.csv', 'w', newline='') \ + as file: + writer = csv.writer(file, delimiter='|') + if(writeWithModuleNameAndRevision): + writer.writerow(["name", "content", "checksum", "module_name", "revision"]) + writer.writerow([yang_source + '.yang', dmiRegistry, checksum, module_name, latestRevision]) + else: + writer.writerow(["name", "content", "checksum"]) + writer.writerow([yang_source + '.yang', dmiRegistry, checksum]) + except: + print("ERROR IN in yangResourceCsvGenerator.py: Unable to write to changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_" + yang_source + ".csv") + + +main() \ No newline at end of file