summaryrefslogtreecommitdiffstats
path: root/cps-ri/src/main/resources/yangResourceCsvGenerator.py
diff options
context:
space:
mode:
Diffstat (limited to 'cps-ri/src/main/resources/yangResourceCsvGenerator.py')
-rw-r--r--cps-ri/src/main/resources/yangResourceCsvGenerator.py48
1 files changed, 38 insertions, 10 deletions
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