summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Structure.py
blob: 82674573f4c8dee12d6f4ee5050c2bd19edc48cc (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
31
32
33
34
35
36
37
'''This is the Structure base class'''
__revision__ = '$Revision$'

class StructureError(Exception):
    '''Structure runtime error used to inform upper layers of internal generator failure'''
    pass

class StructureInitError(Exception):
    '''Constructor time error that allows the upper layer to proceed in the face of
    structure initialization failures'''
    pass

class Structure(object):
    '''The Structure class is used to define patterns of data in host configurations
    Structure subtyped classes provide functions that group configurations into dependent
    and independent clauses'''
    __name__ = 'example'

    def __init__(self, core, datastore):
        '''Common structure setup'''
        object.__init__(self)
        self.data = "%s/%s" % (datastore, self.__name__)
        self.core = core
        self.__setup__()

    def __setup__(self):
        pass

    def Construct(self, metadata):
        '''Returns a list of configuration structure chunks for client'''
        metadata.image # pylint hack
        return []

    def GetDependencies(self, metadata):
        '''Get a list of dependencies for structures returned by Construct'''
        metadata.image
        return []