diff options
Diffstat (limited to 'grc/blocks/variable_struct.xml.py')
-rw-r--r-- | grc/blocks/variable_struct.xml.py | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/grc/blocks/variable_struct.xml.py b/grc/blocks/variable_struct.xml.py deleted file mode 100644 index c0d3dac355..0000000000 --- a/grc/blocks/variable_struct.xml.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/env python - -MAX_NUM_FIELDS = 20 - -HEADER = """\ -<block> - <name>Struct Variable</name> - <key>variable_struct</key> - <import>def struct(data): return type('Struct', (object,), data)()</import> - <var_make>self.$id = $id = struct({{#slurp -#for $i in range({0}): -#set $field = $getVar('field' + str(i)) -#if len(str($field)) > 2 -$field: $getVar('value' + str(i)), #slurp -#end if -#end for -}})</var_make> - <var_value>struct({{#slurp -#for $i in range({0}): -#set $field = $getVar('field' + str(i)) -#if len(str($field)) > 2 -$field: $getVar('value' + str(i)), #slurp -#end if -#end for -}})</var_value> - <make></make> -""" - -FIELD0 = """\ - <param> - <name>Field 0</name> - <key>field0</key> - <value>field0</value> - <type>string</type> - <hide>part</hide> - <tab>Fields</tab> - </param> -""" - -FIELDS = """\ - <param> - <name>Field {0}</name> - <key>field{0}</key> - <value></value> - <type>string</type> - <hide>part</hide> - <tab>Fields</tab> - </param> -""" - -VALUES = """\ - <param> - <name>$field{0}()</name> - <key>value{0}</key> - <value>0</value> - <type>raw</type> - <hide>#if $field{0}() then 'none' else 'all'#</hide> - </param> -""" - -CHECKS = """\ - <check>($str($field{0}) or "a")[0].isalpha()</check> - <check>($str($field{0}) or "a").isalnum()</check> -""" - -FOOTER = """\ - <doc>This is a simple struct/record like variable. - -Attribute/field names can be specified in the tab 'Fields'. -For each non-empty field a parameter with type raw is shown. -Value access via the dot operator, e.g. "variable_struct_0.field0" - </doc> -</block> -""" - - -def make_xml(num_fields): - return ''.join(( - HEADER.format(num_fields), - FIELD0, ''.join(FIELDS.format(i) for i in range(1, num_fields)), - ''.join(VALUES.format(i) for i in range(num_fields)), - ''.join(CHECKS.format(i) for i in range(num_fields)), - FOOTER - )) - - -if __name__ == '__main__': - import sys - try: - filename = sys.argv[1] - except IndexError: - filename = __file__[:-3] - - data = make_xml(MAX_NUM_FIELDS) - - with open(filename, 'wb') as fp: - fp.write(data.encode()) |