summaryrefslogtreecommitdiffstats
path: root/Testcases/cfgm_common/ifmap/metadata.py
diff options
context:
space:
mode:
Diffstat (limited to 'Testcases/cfgm_common/ifmap/metadata.py')
-rw-r--r--Testcases/cfgm_common/ifmap/metadata.py36
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>'
+