Boolean Input Example

Location: examples/webapp/boolean/

This example demonstrates the <boolean> input type. Booleans accept logical true/false values. Rappture recognizes several equivalent default formats: on/off, yes/no, true/false, 1/0.

tool.xml

<?xml version="1.0"?>
<run>
<tool>
  <title>boolean (rappture2web)</title>
  <command>python3 @tool/boolean.py @driver</command>
</tool>
<input>
  <boolean id="iimodel">
    <about>
      <label>Impact Ionization Model</label>
      <description>Enable/disable impact ionization effects.</description>
    </about>
    <default>on</default>
  </boolean>
  <boolean id="iimodel1">
    <about><label>Model 1</label></about>
    <default>yes</default>
  </boolean>
  <boolean id="iimodel2">
    <about><label>Model 2</label></about>
    <default>true</default>
  </boolean>
  <boolean id="iimodel3">
    <about><label>Model 3</label></about>
    <default>1</default>
  </boolean>
</input>
</run>

Script

import sys
import rappture2web.rp_library as Rappture

rx = Rappture.PyXml(sys.argv[1])

for eid, out_eid in [('iimodel', 'outb'), ('iimodel1', 'outb1'),
                     ('iimodel2', 'outb2'), ('iimodel3', 'outb3')]:
    val = rx['input.(%s).current' % eid].value
    rx['output.boolean(%s).about.label' % out_eid] = 'Echo of %s' % eid
    rx['output.boolean(%s).current' % out_eid] = val

rx.close()

Key concepts

  • All four default formats (on, yes, true, 1) are treated identically by the framework.

  • Boolean outputs echo the same format back.

Running

rappture2web examples/webapp/boolean/