diff options
Diffstat (limited to 'Testcases/cfgm_common/ifmap/metadata.py')
-rw-r--r-- | Testcases/cfgm_common/ifmap/metadata.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Testcases/cfgm_common/ifmap/metadata.py b/Testcases/cfgm_common/ifmap/metadata.py new file mode 100644 index 0000000..17f4515 --- /dev/null +++ b/Testcases/cfgm_common/ifmap/metadata.py @@ -0,0 +1,36 @@ +# Copyright 2011, Infoblox, All Rights Reserved +# +# Open Source, see LICENSE +# +from util import attr, link_ids + +class MetadataBase: + """ foundation class for metadata factory """ + pass + +class Metadata(MetadataBase): + """ + Metadata factory + """ + __ns_uri = '' + + def __init__(self, name, value=None, attributes=None, ns_prefix=None, ns_uri=None, elements=''): + self.__value = value + self.__attributes = attributes + self.__elements = elements + + if ns_prefix: + self.__name = ns_prefix + ':' + name + elif not ns_uri: + self.__name = 'meta:' + name + + if ns_uri: + if ns_prefix: + self.__ns_uri = ' xmlns:' + ns_prefix + '="' + ns_uri + '"' + else: + self.__ns_uri = ' xmlns="' + ns_uri + '"' + + def __str__(self): + __attr = ' '+ attr(self.__attributes) + return '<metadata><' + self.__name + self.__ns_uri + __attr + '>' + self.__value + self.__elements + '</' + self.__name + '></metadata>' + |