summaryrefslogtreecommitdiff
path: root/reconfigure/items/exports.py
blob: 5fe3a4072af7c6c93481a8adcac6b7025593e9ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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')