summaryrefslogtreecommitdiff
path: root/gr-utils/blocktool/core/parseheader_generic.py
diff options
context:
space:
mode:
authormormj <34754695+mormj@users.noreply.github.com>2020-05-22 14:21:09 -0400
committerJosh Morman <mormjb@gmail.com>2020-06-04 10:05:48 -0400
commit3165f73d7c6224523957fa69beade6069efea6ef (patch)
treebcc09005ab8cc6b2f6bef4589f5b612eeafb29be /gr-utils/blocktool/core/parseheader_generic.py
parentcb1185bc2c12c0c7bd76ab93040a63c39815e847 (diff)
pybind: add hash check to binding file creation (#3472)
Diffstat (limited to 'gr-utils/blocktool/core/parseheader_generic.py')
-rw-r--r--gr-utils/blocktool/core/parseheader_generic.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/gr-utils/blocktool/core/parseheader_generic.py b/gr-utils/blocktool/core/parseheader_generic.py
index 31a065a61e..ef6a1398ca 100644
--- a/gr-utils/blocktool/core/parseheader_generic.py
+++ b/gr-utils/blocktool/core/parseheader_generic.py
@@ -265,10 +265,19 @@ class GenericHeaderParser(BlockTool):
"""
module = self.modname.split('-')[-1]
self.parsed_data['module_name'] = module
+ self.parsed_data['filename'] = self.filename
+
+ import hashlib
+ hasher = hashlib.md5()
+ with open(self.target_file, 'rb') as file_in:
+ buf = file_in.read()
+ hasher.update(buf)
+ self.parsed_data['md5hash'] = hasher.hexdigest()
# Right now if pygccxml is not installed, it will only handle the make function
# TODO: extend this to other publicly declared functions in the h file
if not PYGCCXML_AVAILABLE:
+ self.parsed_data['parser'] = 'simple'
(params, iosig, blockname) = self._parse_cc_h(self.target_file)
self.parsed_data['target_namespace'] = namespace_to_parse
@@ -301,6 +310,7 @@ class GenericHeaderParser(BlockTool):
return self.parsed_data
else:
+ self.parsed_data['parser'] = 'pygccxml'
generator_path, generator_name = utils.find_xml_generator()
xml_generator_config = parser.xml_generator_configuration_t(
xml_generator_path=generator_path,