From 542a17226c94eefdf056599397550d048fbd3472 Mon Sep 17 00:00:00 2001
From: Arpit Gupta <guptarpit1997@gmail.com>
Date: Wed, 27 Mar 2019 01:08:19 +0530
Subject: gr_modtool: fix for yaml generator

---
 gr-utils/python/modtool/core/makeyaml.py            | 10 +++++++---
 gr-utils/python/modtool/tools/grc_yaml_generator.py |  6 +++---
 2 files changed, 10 insertions(+), 6 deletions(-)

(limited to 'gr-utils/python')

diff --git a/gr-utils/python/modtool/core/makeyaml.py b/gr-utils/python/modtool/core/makeyaml.py
index 7f80555338..05903238b6 100644
--- a/gr-utils/python/modtool/core/makeyaml.py
+++ b/gr-utils/python/modtool/core/makeyaml.py
@@ -149,11 +149,12 @@ class ModToolMakeYAML(ModTool):
             """ Return the block name and the header file name from the .cc file name """
             blockname = os.path.splitext(os.path.basename(fname_cc.replace('_impl.', '.')))[0]
             fname_h = (blockname + '.h').replace('_impl.', '.')
+            contains_modulename =  blockname.startswith(self.info['modname']+'_')
             blockname = blockname.replace(self.info['modname']+'_', '', 1)
-            return (blockname, fname_h)
+            return (blockname, fname_h, contains_modulename)
         # Go, go, go
         logger.info("Making GRC bindings for {}...".format(fname_cc))
-        (blockname, fname_h) = _get_blockdata(fname_cc)
+        (blockname, fname_h, contains_modulename) = _get_blockdata(fname_cc)
         try:
             parser = ParserCCBlock(fname_cc,
                                    os.path.join(self.info['includedir'], fname_h),
@@ -164,4 +165,7 @@ class ModToolMakeYAML(ModTool):
         except IOError:
             raise ModToolException("Can't open some of the files necessary to parse {}.".format(fname_cc))
 
-        return (parser.read_params(), parser.read_io_signature(), blockname)
+        if contains_modulename:
+            return (parser.read_params(), parser.read_io_signature(), self.info['modname']+'_'+blockname)
+        else:
+            return (parser.read_params(), parser.read_io_signature(), blockname)
diff --git a/gr-utils/python/modtool/tools/grc_yaml_generator.py b/gr-utils/python/modtool/tools/grc_yaml_generator.py
index 5bb0b64047..556ab298cf 100644
--- a/gr-utils/python/modtool/tools/grc_yaml_generator.py
+++ b/gr-utils/python/modtool/tools/grc_yaml_generator.py
@@ -55,11 +55,11 @@ class GRCYAMLGenerator(object):
     """ Create and write the YAML bindings for a GRC block. """
     def __init__(self, modname=None, blockname=None, doc=None, params=None, iosig=None):
         """docstring for __init__"""
-        params_list = ['$'+s['key'] for s in params if s['in_constructor']]
+        params_list = ['${'+s['key']+'}' for s in params if s['in_constructor']]
         # Can't make a dict 'cause order matters
         self._header = (('id', '{}_{}'.format(modname, blockname)),
-                        ('label', blockname.replace('_', ' ').capitalize()),
-                        ('category', '[{}]'.format(modname.upper()))
+                        ('label', blockname.replace('_', ' ')),
+                        ('category', '[{}]'.format(modname.capitalize()))
                        )
         self._templates = (('imports', 'import {}'.format(modname)),
                            ('make', '{}.{}({})'.format(modname, blockname, ', '.join(params_list)))
-- 
cgit v1.2.3