示例#1
0
 def configure(self, config):
     set_attribute(self, 'node', REQUIRED, config)
     config['function'] = 'mpx.lib.node.as_node("%s").get' % self.node
     PeriodicColumn.configure(self, config)
     set_attribute(self, 'delta', 0, config, as_boolean)
     if self.delta:
         c = Calculator()
         c.configure({
             'name':
             'delta',
             'parent':
             self,
             'statement':
             'value-last_value',
             'variables': [{
                 'vn': 'value',
                 'node_reference': '$value'
             }, {
                 'vn': 'last_value',
                 'node_reference': '$last_value'
             }]
         })
     set_attribute(self, 'meter_description', self.name, config)
     set_attribute(self, 'account', REQUIRED, config)
     set_attribute(self, 'meter_number', REQUIRED, config)
     set_attribute(self, 'units', '', config)
 def test_get_1(self):
     la = Calculator()
     config = {
         'parent':
         self.get_fake_ion(),
         'name':
         'linear_adjustor',
         'statement':
         '(x+y)/z',
         'variables': [{
             'vn': 'x',
             'node_reference': '1.0'
         }, {
             'vn': 'y',
             'node_reference': '2'
         }, {
             'vn': 'z',
             'node_reference': '3'
         }]
     }
     la.configure(config)
     la.start()
     value = la.get()
     if value != 1.0:
         self.fail(
             'wrong value returned from simple get. Value returned: ' +
             str(value))
     return
示例#3
0
 def _create_calculator(self,statement,variables,start=1):
     config = {'name':'test','parent':self.get_fake_ion(start),
               'statement':statement,'variables':[]}
     for name in variables.keys():
         variable = {'vn':name,'node_reference':variables[name]}
         config['variables'].append(variable)
     calc = Calculator()
     calc.configure(config)
     return calc
 def _create_calculator(self, statement, variables, start=1):
     config = {
         'name': 'test',
         'parent': self.get_fake_ion(start),
         'statement': statement,
         'variables': []
     }
     for name in variables.keys():
         variable = {'vn': name, 'node_reference': variables[name]}
         config['variables'].append(variable)
     calc = Calculator()
     calc.configure(config)
     return calc
示例#5
0
 def test_get_1(self):
     la = Calculator()
     config = {'parent':self.get_fake_ion(),
               'name':'linear_adjustor',
               'statement':'(x+y)/z',
               'variables':[{'vn':'x','node_reference':'1.0'}, 
                            {'vn':'y','node_reference':'2'},
                            {'vn':'z','node_reference':'3'}]}
     la.configure(config)
     la.start()
     value = la.get()
     if value != 1.0:
         self.fail('wrong value returned from simple get. Value returned: '
                   + str(value))
     return
示例#6
0
 def configure(self, config):
     PeriodicColumn.configure(self, config)
     if not self.has_child("delta"):
         c = Calculator()
         c.configure(
             {
                 "name": "delta",
                 "parent": self,
                 "statement": "value - last_value",
                 "variables": [
                     {"vn": "value", "node_reference": "$value"},
                     {"vn": "last_value", "node_reference": "$last_value"},
                 ],
             }
         )
     return
示例#7
0
 def configure(self, config):
     Calculator.configure(self, config)
     message = ''
     if not (config.has_key('message') and config['message']):
         for var in self.variables:
             if message:
                 message += ', '
             message += '%s = ${%s}' % (var['vn'], var['vn'])
         set_attribute(self, 'message', message, {})
     else:
         set_attribute(self, 'message', REQUIRED, config)
     set_attribute(self, 'poll_period', 0.1, config, float)
     set_attribute(self, 'critical_input', '', config)
     set_attribute(self, 'send_retries', 3, config, int)
     set_attribute(self, 'enabled', 1, config, as_boolean)
     set_attribute(self, 'require_acknowledge', 0, config, as_boolean)
     self._manager = self.parent.parent
示例#8
0
 def configure(self,config):
     PeriodicColumn.configure(self, config)
     if not self.has_child('average'):
         c = Calculator()
         c.configure({'name':'average',
                      'parent':self,
                      'statement':'(value + last_value)/2.0',
                      'variables':[{'vn':'value',
                                    'node_reference':'$value'}, 
                                   {'vn':'last_value',
                                    'node_reference':'$last_value'}, 
                                   {'vn':'last_time',
                                    'node_reference':'$last_time'}, 
                                   {'vn':'now','node_reference':'$now'},
                                   {'vn':'period',
                                    'node_reference':'$period'}]})
     return
示例#9
0
 def configure(self,config):
     Calculator.configure(self, config)
     message = ''
     if not (config.has_key('message') and config['message']):
         for var in self.variables:
             if message:
                 message += ', '
             message += '%s = ${%s}' % (var['vn'],var['vn'])
         set_attribute(self, 'message', message, {})
     else:
         set_attribute(self, 'message', REQUIRED, config)
     set_attribute(self, 'poll_period', 0.1, config, float)
     set_attribute(self, 'critical_input', '', config)
     set_attribute(self, 'send_retries', 3, config, int)
     set_attribute(self, 'enabled', 1, config, as_boolean)
     set_attribute(self, 'require_acknowledge', 0, config, as_boolean)
     self._manager = self.parent.parent
示例#10
0
文件: log.py 项目: mcruse/monotone
 def configure(self,config):
     set_attribute(self,'node',REQUIRED,config)
     config['function'] = 'mpx.lib.node.as_node("%s").get' % self.node
     PeriodicColumn.configure(self,config)
     set_attribute(self,'delta',0,config,as_boolean)
     if self.delta:
         c = Calculator()
         c.configure({'name':'delta',
                      'parent':self,
                      'statement':'value-last_value',
                      'variables':[{'vn':'value',
                                    'node_reference':'$value'},
                                   {'vn':'last_value',
                                    'node_reference':'$last_value'}]})
     set_attribute(self,'meter_description',self.name,config)
     set_attribute(self,'account',REQUIRED,config)
     set_attribute(self,'meter_number',REQUIRED,config)
     set_attribute(self,'units','',config)
示例#11
0
 def configure(self, config):
     PeriodicColumn.configure(self, config)
     if not self.has_child("average"):
         c = Calculator()
         c.configure(
             {
                 "name": "average",
                 "parent": self,
                 "statement": "(value + last_value)/2.0",
                 "variables": [
                     {"vn": "value", "node_reference": "$value"},
                     {"vn": "last_value", "node_reference": "$last_value"},
                     {"vn": "last_time", "node_reference": "$last_time"},
                     {"vn": "now", "node_reference": "$now"},
                     {"vn": "period", "node_reference": "$period"},
                 ],
             }
         )
     return
示例#12
0
 def configure(self, config):
     PeriodicColumn.configure(self, config)
     if not self.has_child('delta'):
         c = Calculator()
         c.configure({
             'name':
             'delta',
             'parent':
             self,
             'statement':
             'value - last_value',
             'variables': [{
                 'vn': 'value',
                 'node_reference': '$value'
             }, {
                 'vn': 'last_value',
                 'node_reference': '$last_value'
             }]
         })
     return
示例#13
0
 def configure(self,config):
     Calculator.configure(self, config)
     _Trigger.configure(self, config)
     message = ''
     if 'poll_period' in config:
         try:
             policy = float(config['poll_period'])
         except ValueError:
             raise ValueError('Value of field \'Poll period\' is not numeric')
     if not (config.has_key('message') and config['message']):
         for var in self.variables:
             if message: 
                 message += ', '
             message += '%s = ${%s}' % (var['vn'],var['vn'])
         set_attribute(self, 'message', message, {})
     else: 
         set_attribute(self, 'message', REQUIRED, config)
     set_attribute(self, 'poll_period', 2, config, float)
     set_attribute(self, 'critical_input', '', config)
     set_attribute(self, 'description', '', config)
     set_attribute(self, 'enabled', 1, config, as_boolean)
     self.manager = self.parent
示例#14
0
 def configure(self, config):
     Calculator.configure(self, config)
     _Trigger.configure(self, config)
     message = ''
     if 'poll_period' in config:
         try:
             policy = float(config['poll_period'])
         except ValueError:
             raise ValueError(
                 'Value of field \'Poll period\' is not numeric')
     if not (config.has_key('message') and config['message']):
         for var in self.variables:
             if message:
                 message += ', '
             message += '%s = ${%s}' % (var['vn'], var['vn'])
         set_attribute(self, 'message', message, {})
     else:
         set_attribute(self, 'message', REQUIRED, config)
     set_attribute(self, 'poll_period', 2, config, float)
     set_attribute(self, 'critical_input', '', config)
     set_attribute(self, 'description', '', config)
     set_attribute(self, 'enabled', 1, config, as_boolean)
     self.manager = self.parent