commit-gnuradio
[Top][All Lists]
Advanced

[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>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]