summaryrefslogtreecommitdiff
path: root/reconfigure/items/exports.py
diff options
context:
space:
mode:
Diffstat (limited to 'reconfigure/items/exports.py')
-rw-r--r--reconfigure/items/exports.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/reconfigure/items/exports.py b/reconfigure/items/exports.py
new file mode 100644
index 0000000..5fe3a40
--- /dev/null
+++ b/reconfigure/items/exports.py
@@ -0,0 +1,30 @@
+from reconfigure.nodes import Node, PropertyNode
+from reconfigure.items.bound import BoundData
+
+
+class ExportsData (BoundData):
+ pass
+
+
+class ExportData (BoundData):
+ def template(self):
+ return Node(
+ '/',
+ Node('clients')
+ )
+
+
+class ClientData (BoundData):
+ def template(self):
+ return Node(
+ 'localhost',
+ PropertyNode('options', '')
+ )
+
+
+ExportsData.bind_collection('exports', item_class=ExportData)
+ExportData.bind_name('name')
+ExportData.bind_attribute('comment', 'comment', default='')
+ExportData.bind_collection('clients', path=lambda x: x['clients'], item_class=ClientData)
+ClientData.bind_name('name')
+ClientData.bind_property('options', 'options')