summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Pinkava <j-pi@seznam.cz>2015-10-10 21:28:23 +0200
committerJiří Pinkava <j-pi@seznam.cz>2016-05-03 07:21:47 +0200
commited99f139c22988d9c7b0cccd7e8da01407919460 (patch)
tree12df2a1b909cebc8cb5bcd111ca2eee1de1853a9
parent83411579705f43a30a68df5179fe507398a0555a (diff)
grc: flow graph templates use ArgumentParser
-rw-r--r--grc/blocks/options.xml4
-rw-r--r--grc/blocks/parameter.xml4
-rw-r--r--grc/core/generator/flow_graph.tmpl12
3 files changed, 11 insertions, 9 deletions
diff --git a/grc/blocks/options.xml b/grc/blocks/options.xml
index 937cfe82ea..bb96f29a60 100644
--- a/grc/blocks/options.xml
+++ b/grc/blocks/options.xml
@@ -20,8 +20,8 @@ from PyQt4 import Qt
import sys
#end if
#if not $generate_options().startswith('hb')
-from optparse import OptionParser
-from gnuradio.eng_option import eng_option
+from argparse import ArgumentParser
+from gnuradio.eng_arg import eng_float, intx
from gnuradio import eng_notation
#end if</import>
<make></make>
diff --git a/grc/blocks/parameter.xml b/grc/blocks/parameter.xml
index e35b8f4d1d..0c10da48cc 100644
--- a/grc/blocks/parameter.xml
+++ b/grc/blocks/parameter.xml
@@ -57,7 +57,9 @@
<name>String</name>
<key>string</key>
<opt>type:string</opt>
- </option>
+ </option>
+ <!-- Do not forget to add option value type handler import into
+ grc/python/flow_graph.tmpl for each new type. -->
<!-- not supported yet in tmpl
<option>
<name>Boolean</name>
diff --git a/grc/core/generator/flow_graph.tmpl b/grc/core/generator/flow_graph.tmpl
index 07c4169525..38b113fe90 100644
--- a/grc/core/generator/flow_graph.tmpl
+++ b/grc/core/generator/flow_graph.tmpl
@@ -336,18 +336,18 @@ $short_id#slurp
def argument_parser():
- #set $desc_args = 'usage="%prog: [options]", option_class=eng_option'
+ #set $arg_parser_args = ''
#if $flow_graph.get_option('description')
- #set $desc_args += ', description=description'
+ #set $arg_parser_args = 'description=description'
description = $repr($flow_graph.get_option('description'))
#end if
- parser = OptionParser($desc_args)
+ parser = ArgumentParser($arg_parser_args)
#for $param in $parameters
#set $type = $param.get_param('type').get_value()
#if $type
#silent $params_eq_list.append('%s=options.%s'%($param.get_id(), $param.get_id()))
- parser.add_option(
- "$make_short_id($param)", "--$param.get_id().replace('_', '-')", dest="$param.get_id()", type="$type", default=$make_default($type, $param),
+ parser.add_argument(
+ "$make_short_id($param)", "--$param.get_id().replace('_', '-')", dest="$param.get_id()", type=$type, default=$make_default($type, $param),
help="Set $($param.get_param('label').get_evaluated() or $param.get_id()) [default=%default]")
#end if
#end for
@@ -358,7 +358,7 @@ def argument_parser():
def main(top_block_cls=$(class_name), options=None):
#if $parameters
if options is None:
- options, _ = argument_parser().parse_args()
+ options = argument_parser().parse_args()
#end if
#if $flow_graph.get_option('realtime_scheduling')
if gr.enable_realtime_scheduling() != gr.RT_OK: