summaryrefslogtreecommitdiff
path: root/grc/blocks/variable_struct.xml.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/blocks/variable_struct.xml.py')
-rw-r--r--grc/blocks/variable_struct.xml.py97
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())