mirror of
https://github.com/open62541/open62541.git
synced 2026-10-20 15:21:48 +08:00
58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
from __future__ import print_function
|
|
import inspect
|
|
import sys
|
|
import platform
|
|
import getpass
|
|
import time
|
|
import re
|
|
import argparse
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('nodeids', help='path/to/NodeIds.csv')
|
|
parser.add_argument('outfile', help='outfile w/o extension')
|
|
args = parser.parse_args()
|
|
|
|
def useNodeId(row):
|
|
if row[0] == "":
|
|
return False
|
|
if "Test" in row[0]:
|
|
return False
|
|
if row[0].startswith("OpcUa_"):
|
|
return False
|
|
if row[0].startswith("SessionsDiagnosticsSummaryType_"):
|
|
return False
|
|
if "Type_" in row[0]:
|
|
return False
|
|
if "_Encoding_Default" in row[0]:
|
|
return False
|
|
return True
|
|
|
|
f = open(args.nodeids)
|
|
input_str = f.read() + "\nHasModelParent,50,ReferenceType"
|
|
f.close()
|
|
input_str = input_str.replace('\r','')
|
|
rows = map(lambda x:tuple(x.split(',')), input_str.split('\n'))
|
|
|
|
fh = open(args.outfile + ".h",'w')
|
|
def printh(string):
|
|
print(string, end='\n', file=fh)
|
|
|
|
printh('''/**********************************************************
|
|
* '''+args.outfile+'''.hgen -- do not modify
|
|
**********************************************************
|
|
* Generated from '''+args.nodeids+''' with script '''+sys.argv[0]+'''
|
|
* on host '''+platform.uname()[1]+''' by user '''+getpass.getuser()+''' at '''+
|
|
time.strftime("%Y-%m-%d %I:%M:%S")+'''
|
|
**********************************************************/\n
|
|
#ifndef ''' + args.outfile.upper().split("/")[-1] + '''_H_
|
|
#define ''' + args.outfile.upper().split("/")[-1] + '''_H_
|
|
''')
|
|
|
|
for row in rows:
|
|
if useNodeId(row):
|
|
printh("#define UA_NS0ID_%s %s // %s" % (row[0].upper(), row[1], row[2]))
|
|
|
|
printh('\n#endif /* ' + args.outfile.upper().split("/")[-1] + '_H_ */')
|
|
|
|
fh.close()
|