[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r7537 - in grc/branches/grc_reloaded/src/grc: elements
From: |
jblum |
Subject: |
[Commit-gnuradio] r7537 - in grc/branches/grc_reloaded/src/grc: elements platforms platforms/gnuradio_python/blocks platforms/gnuradio_python/blocks/misc platforms/gnuradio_python/blocks/operators |
Date: |
Fri, 1 Feb 2008 10:52:56 -0700 (MST) |
Author: jblum
Date: 2008-02-01 10:52:55 -0700 (Fri, 01 Feb 2008)
New Revision: 7537
Removed:
grc/branches/grc_reloaded/src/grc/elements/Range.py
grc/branches/grc_reloaded/src/grc/platforms/common/
Modified:
grc/branches/grc_reloaded/src/grc/elements/Block.py
grc/branches/grc_reloaded/src/grc/elements/Param.py
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/block.dtd
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/misc/variable.xml
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
Log:
removed range, replaced with generic check
Modified: grc/branches/grc_reloaded/src/grc/elements/Block.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Block.py 2008-02-01 16:48:00 UTC
(rev 7536)
+++ grc/branches/grc_reloaded/src/grc/elements/Block.py 2008-02-01 17:52:55 UTC
(rev 7537)
@@ -35,7 +35,7 @@
##static constructor for sink
Sink = Port.make_port_from_n
- def __init__(self, flow_graph, doc, name, key, cat, params, sources,
sinks):
+ def __init__(self, flow_graph, doc, name, key, cat, params, checks,
sources, sinks):
Element.__init__(self, flow_graph)
#store the data
self._doc = doc
@@ -50,7 +50,9 @@
try: assert(key not in self.get_param_keys())
except AssertionError: self._exit_with_error('Key "%s"
already exists in params'%key)
#store the param
- self._params[key] = param
+ self._params[key] = param
+ #store the checks
+ self._checks = checks
#create the source objects
self._sources = odict()
for source in map(self.Source, sources):
@@ -82,10 +84,18 @@
"""
Validate the block.
All ports and params must be valid.
+ All checks must evaluate to true.
"""
for c in self.get_params() + self.get_sinks() +
self.get_sources():
try: assert(c.is_valid())
except AssertionError: self._add_error_message('Element
"%s" is not valid.'%c)
+ for check in self._checks:
+ check_res = self.resolve_dependencies(check)
+ try:
+ check_eval =
self.get_parent().evaluate(check_res)
+ try: assert(check_eval)
+ except AssertionError:
self._add_error_message('Check "%s" evaluated to false.'%check)
+ except: self._add_error_message('Check "%s" did not
evaluate.'%check)
def __str__(self): return 'Block: %s(%s)'%(self.get_name(),
self.get_key())
@@ -173,6 +183,7 @@
key = n['key']
cat = n['cat']
params = Utils.listify(n, 'param')
+ checks = Utils.listify(n, 'check')
sources = Utils.listify(n, 'source')
sinks = Utils.listify(n, 'sink')
#build the block
@@ -183,6 +194,7 @@
key=key,
cat=cat,
params=params,
+ checks=checks,
sources=sources,
sinks=sinks,
)
Modified: grc/branches/grc_reloaded/src/grc/elements/Param.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Param.py 2008-02-01 16:48:00 UTC
(rev 7536)
+++ grc/branches/grc_reloaded/src/grc/elements/Param.py 2008-02-01 17:52:55 UTC
(rev 7537)
@@ -24,7 +24,6 @@
from grc import Utils
from grc.Utils import odict
from grc.elements.Element import Element
-from grc.elements.Range import Range
class Option(Element):
@@ -84,12 +83,11 @@
##possible param types
TYPES = ['enum']
- def __init__(self, block, name, key, value, type, range, options):
+ def __init__(self, block, name, key, value, type, options):
Element.__init__(self, block)
self._name = name
self._key = key
self._type = type
- self._range = Range(self, range)
#create the Option objects from the n data
self._options = odict()
for option in map(lambda o: Option.make_option_from_n(self, o),
options):
@@ -124,7 +122,7 @@
"""
call test on all children
"""
- map(lambda c: c.test(), [self.get_range()] + self.get_options())
+ map(lambda c: c.test(), self.get_options())
def validate(self):
"""
@@ -150,8 +148,6 @@
def is_enum(self): return self._type == 'enum'
- def get_range(self): return self._range
-
##############################################
# Access Options
##############################################
@@ -181,7 +177,6 @@
key = n['key']
value = Utils.exists_or_else(n, 'value', None)
type = n['type']
- range = Utils.exists_or_else(n, 'range', '(inf, -inf)')
options = Utils.listify(n, 'option')
#build the param
return Param(
@@ -190,7 +185,6 @@
key=key,
value=value,
type=type,
- range=range,
options=options,
)
make_param_from_n = staticmethod(make_param_from_n)
Deleted: grc/branches/grc_reloaded/src/grc/elements/Range.py
Modified:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/block.dtd
===================================================================
---
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/block.dtd
2008-02-01 16:48:00 UTC (rev 7536)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/block.dtd
2008-02-01 17:52:55 UTC (rev 7537)
@@ -26,11 +26,11 @@
Top level element.
A block contains a name, ...parameters list, and list of IO ports.
-->
-<!ELEMENT block (doc?, name, key, cat, dep*, fcn, callback*, param*, sink*,
source*)>
+<!ELEMENT block (doc?, name, key, cat, dep*, fcn, callback*, param*, check*,
sink*, source*)>
<!--
Sub level elements.
-->
-<!ELEMENT param (name, key, value?, type, range?, option*)>
+<!ELEMENT param (name, key, value?, type, option*)>
<!ELEMENT option (name, key, opt*)>
<!ELEMENT sink (name, type, vlen?, nports?, optional?)>
<!ELEMENT source (name, type, vlen?, nports?, optional?)>
@@ -43,7 +43,7 @@
<!ELEMENT cat (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT key (#PCDATA)>
-<!ELEMENT range (#PCDATA)>
+<!ELEMENT check (#PCDATA)>
<!ELEMENT opt (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT vlen (#PCDATA)>
Modified:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/misc/variable.xml
===================================================================
---
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/misc/variable.xml
2008-02-01 16:48:00 UTC (rev 7536)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/misc/variable.xml
2008-02-01 17:52:55 UTC (rev 7537)
@@ -19,7 +19,6 @@
<name>Value</name>
<key>value</key>
<type>$type:type</type>
- <range>[$min, $max]</range>
</param>
<param>
<name>Type</name>
Modified:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
===================================================================
---
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
2008-02-01 16:48:00 UTC (rev 7536)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
2008-02-01 17:52:55 UTC (rev 7537)
@@ -17,14 +17,12 @@
<key>num_inputs</key>
<value>2</value>
<type>int</type>
- <range>[2, inf)</range>
</param>
<param>
<name>Vec Length</name>
<key>vec_len</key>
<value>1</value>
<type>int</type>
- <range>[1, inf)</range>
</param>
<param>
<name>IO Type</name>
@@ -54,7 +52,9 @@
<opt>type:short</opt>
<opt>fcn:gr.add_vss</opt>
</option>
- </param>
+ </param>
+ <check>$num_inputs >= 2</check>
+ <check>$vec_len >= 1</check>
<sink>
<name>in</name>
<type>$type:type</type>
Modified:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
===================================================================
---
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
2008-02-01 16:48:00 UTC (rev 7536)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
2008-02-01 17:52:55 UTC (rev 7537)
@@ -18,14 +18,12 @@
<key>const</key>
<value>0</value>
<type>$type:const_type</type>
- <range>[$vec_len, $vec_len]</range>
</param>
<param>
<name>Vec Length</name>
<key>vec_len</key>
<value>1</value>
- <type>int</type>
- <range>[1, inf)</range>
+ <type>int</type>
</param>
<param>
<name>IO Type</name>
@@ -60,6 +58,8 @@
<opt>fcn:gr.add_const_vss</opt>
</option>
</param>
+ <check>len($const) == $vec_len</check>
+ <check>$vec_len >= 1</check>
<sink>
<name>in</name>
<type>$type:type</type>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r7537 - in grc/branches/grc_reloaded/src/grc: elements platforms platforms/gnuradio_python/blocks platforms/gnuradio_python/blocks/misc platforms/gnuradio_python/blocks/operators,
jblum <=