def dumps(self, obj):
     """
     @param obj: The Configuration object 
     """
     
     elem = ElementTree.Element("extensions")
     for extension in obj._objects():
         if isinstance(extension, api.RulemlEvalGlobals):
             writer = EvalGlobalsWriter()
             childelem = writer.dumps(extension)
             if childelem != None:
                 elem.append(childelem)
         else:
             if extension.ns != None and extension.ns != "":
                 childelem = ElementTree.Element("{%s}%s" % (extension.ns, extension.tag))
             else:
                 childelem = ElementTree.Element(extension.tag)
             if extension.value != None:
                 childelem.text = extension.value
             for attr in extension.attrs:
                 childelem.set(attr, extension.attrs[attr])
             
             childs = self._dump_childen(extension._objects())
             for ch in childs:
                 childelem.append(ch)
             
             elem.append(childelem)
     return elem
 def dumps(self, obj):
     """
     @param obj: The Option object 
     """
     elem = ElementTree.Element('icon', 
                                {'xlink:href' : obj.href})
     return elem
 def dumps(self, obj):
     """
     @param obj: The Configuration object 
     """
     elem = ElementTree.Element('feature', 
                                {'ref' : obj.get_ref()})
     if obj.get_name():
         elem.set('name', obj.get_name())
     if obj.get_type():
         elem.set('type', obj.get_type())
     if obj.get_id() != None:
         elem.set('id', obj.get_id())
     if obj.get_relevant() != None:
         elem.set('relevant', obj.get_relevant())
     if obj.get_constraint() != None:
         elem.set('constraint', obj.get_constraint())
     
     dump_extension_attributes(obj, elem)
     
     for child in obj._objects():
         """ Make sure that the object is mapped to an object in this model """
         mobj = child._get_mapper('confml').map_object(child)
         writer = get_writer_for_class(mobj.__class__.__name__)
         childelem = writer.dumps(child)
         if childelem != None:
             elem.append(childelem)
     return elem
 def dumps(self, obj):
     """
     @param obj: The Configuration object 
     """
     elem = ElementTree.Element('desc')
     elem.text = obj.text
     return elem
Esempio n. 5
0
    def toresource(self, obj, res, indent=True):
        root = ElementTree.Element("metadata")
        root.set('xmlns', self.NAMESPACES[0])
        if not obj.__class__ == Metadata:
            raise exceptions.IncorrectClassError(
                'The given object is not a instance of %s' % Metadata)
        for key in obj.data.keys():
            prop = ElementTree.SubElement(root, 'property')
            self.set_property(prop, key, obj.data[key])
        if indent:
            persistence.indent(root)

        # To make the output the same in linux and windows
        # (needed to make testing easier)
        class LinesepNormalizerResource(object):
            def __init__(self, resource):
                self.resource = resource

            def write(self, data):
                if os.linesep != '\r\n':
                    data = data.replace(os.linesep, '\r\n')
                self.resource.write(data)

        res = LinesepNormalizerResource(res)

        # some smarter way to implement adding of the encoding to the beginning of file
        res.write('<?xml version="1.0" encoding="%s"?>%s' %
                  (self.encoding, os.linesep))
        ElementTree.ElementTree(root).write(res)
 def dumps(self, obj):
     """
     @param obj: The ConfmlLocalPath object 
     """
     elem = ElementTree.Element('targetPath')
     if obj.readOnly:
         elem.set('readOnly', unicode(obj.readOnly))
     return elem
 def dumps(self, obj):
     """
     @param obj: The Configuration object 
     """
     elem = ElementTree.Element('setting', 
                                {'ref' : obj.get_ref()})
     self._set_setting_properties(elem, obj)
     return elem
 def dumps(self, obj):
     """
     @param obj: The Configuration object 
     """
     ref = obj.fqr.replace('.','/')
     elem = ElementTree.Element('setting', 
                                {'ref' : ref})
     self._set_setting_properties(elem, obj)
     return elem
 def dumps(self, obj):
     """
     @param obj: The facet object 
     """
     
     classname = obj.__class__.__name__
     elem = ElementTree.Element(self.MAPPING[classname])
     if obj.value != None:
         elem.set('value', str(obj.value))
     return elem
 def dumps(self, obj):
     """
     @param obj: The Configuration object 
     """
     
     elem = ElementTree.Element("meta")
     for metaproperty in obj:
         prefix = CV_NAMESPACE.get(metaproperty.ns, "")
         if prefix != "":
             #Including namespace to metadata element as well            
             elem.set(("xmlns:%s" % prefix), metaproperty.ns)
             childelem = ElementTree.Element(prefix + ":" + metaproperty.tag)
         else:
             childelem = ElementTree.Element(metaproperty.tag)
         if metaproperty.value != None:
             childelem.text = metaproperty.value
         for attr in metaproperty.attrs:
             childelem.set(attr, metaproperty.attrs[attr])
         elem.append(childelem)
     return elem
 def dumps(self, obj):
     """
     @param obj: The Option object 
     """
     elem = ElementTree.Element('property')
     if obj.name != None:
         elem.set('name', obj.name)
     if obj.value != None:
         elem.set('value', obj.value)
     if obj.unit != None:
         elem.set('unit', obj.unit)
     return elem
 def _dump_childen(self, obj):
     childs = []
     
     for child in obj:
         if child.ns != None and child.ns != "":
             childelem = ElementTree.Element("{%s}%s" % (child.ns, child.tag))
         else:
             childelem = ElementTree.Element(child.tag)
         if child.value != None:
             childelem.text = child.value
         for attr in child.attrs:
             childelem.set(attr, child.attrs[attr])
             
             
         chds = self._dump_childen(child._objects())
         for ch in chds:
             childelem.append(ch)
             
         childs.append(childelem)
         
     return childs
    def dumps(self, obj):
        """
        @param obj: The Configuration object 
        """
        
        elem = ElementTree.Element("{%s}eval_globals" % (RULEML_NAMESPACES[0]))

        if obj.value != None:
            elem.text = obj.value
        if obj.file != None:
            elem.set('file', obj.file)
        
        return elem
 def dumps(self, obj):
     """
     @param obj: The Configuration object 
     """
     elem = ElementTree.Element('view', 
                                {'name' : obj.get_name()})
     if obj.id != None:  
         elem.set('id', obj.id)
     for child in obj._objects():
         """ Make sure that the object is mapped to an object in this model """
         mobj = child._get_mapper('confml').map_object(child)
         writer = get_writer_for_class(mobj.__class__.__name__)
         childelem = writer.dumps(child)
         if childelem != None:
             elem.append(childelem)
     return elem
 def dumps(self, obj):
     """
     @param obj: The Data object 
     """
     # Create a data hierarchy of the 
     elem = ElementTree.Element(obj.get_ref())
     if hasattr(obj,'get_map') and obj.get_map() is not None:
         elem.set('map', obj.get_map())
     elif hasattr(obj,'get_value') and obj.get_value() is not None:
         elem.text = obj.get_value()
     if hasattr(obj,'template') and obj.template == True:
         elem.set('template','true')
     if hasattr(obj,'policy') and obj.policy != '':
         elem.set('extensionPolicy',obj.policy)
     if hasattr(obj,'empty') and obj.empty == True:
         elem.set('empty','true')
     for child in obj._objects():
         writer = DataWriter()
         childelem = writer.dumps(child)
         if childelem != None:
             elem.append(childelem)
     return elem
    def dumps(self, obj):
        """
        @param obj: The Option object 
        """
        
        objdict = {}
        if obj.get_name() is not None: objdict['name'] = obj.get_name()
        if obj.get_value() is not None: objdict['value'] = obj.get_value()
        if obj.map is not None: objdict['map'] = obj.map
        if obj.relevant is not None: objdict['relevant'] = obj.relevant
        if obj.display_name is not None: objdict['displayName'] = obj.display_name
        if obj.map_value is not None: objdict['mapValue'] = obj.map_value

        if hasattr(obj,'extensionAttributes') and obj.extensionAttributes is not None and obj.extensionAttributes != []:
            for ext_attribute in obj.extensionAttributes:
                if ext_attribute.ns != None and ext_attribute.ns != "":
                    objdict["{%s}%s" % (ext_attribute.ns, ext_attribute.name)] = str(ext_attribute.value)
                else:
                    objdict[ext_attribute.name] = str(ext_attribute.value)    

        elem = ElementTree.Element('option', objdict)
        
        return elem
    def dumps(self,obj,indent=True):
        elem = ElementTree.Element("configuration")
        if self.configuration_namespace:
            elem.set("xmlns",self.configuration_namespace)
        if self.include_namespace:
            elem.set("xmlns:xi",self.include_namespace)
        if self.include_namespace:
            elem.set("xmlns:xlink",self.xlink_namespace)
        if self.schema_namespace:
            elem.set("xmlns:xs",self.schema_namespace)
        if obj.get_name():
            elem.set("name", obj.get_name()) 
        if obj.version != None:
            elem.set("version", obj.version) 
        if obj.get_id():
            elem.set('id', obj.get_id())

        for child in obj._objects():
            """ Make sure that the object is mapped to an object in this model """
            mobj = child._get_mapper('confml').map_object(child)
            writer = get_writer_for_class(mobj.__class__.__name__)
            childelem = writer.dumps(child)
            elem.append(childelem)
        return elem
 def test_set_property_with_only_key(self):
     elem = ElementTree.Element('property')
     prop = metadata.MetadataWriter().set_property(elem,'test','')
     self.assertEquals(prop.get('name'),'test')
     self.assertEquals(prop.get('value'),None)
 def test_set_property(self):
     elem = ElementTree.Element('property')
     mwriter = metadata.MetadataWriter()
     prop_elem = mwriter.set_property(elem,'test','foof')
     self.assertTrue(prop_elem.get('name'),'test')
     self.assertTrue(prop_elem.get('value'),'foof')
 def to_include(self,include):
     elem = ElementTree.Element("xi:include",{"href":include})
     return elem