updated generation script

New script generating urdf for every Aldebaran robot. added setup and init.py files accordingly
I see a lot of common code/copy paste in those plugins. Wouldn't is be simpler to have a base class ? Something like:

    class BasePlugin(object):
        ATTRIBUTE_NAMES = []

        def __init__(self,name,filename, attributes):
            self.name = name
            self.filename = filename
            self.attributes = attributes
            
        @classmethod
        def parse(class, node, verbose=True):
            plug = SimuPlugin()
            if node.hasAttribute('name'):
                plug.name = node.getAttribute('name')
            if node.hasAttribute('filename'):
                plug.filename = node.getAttribute('filename')

            for child in children(node):
                if child.localName in class.ATTRIBUTE_NAMES:
                    setattr(plug, child.localName) = str(child.childNodes[0].nodeValue)

            return plug

        def to_xml(self, doc):
            xml = doc.createElement('plugin')
            if self.name!= None:
                set_attribute(xml, 'name', self.name)
            if self.filename!= None:
                set_attribute(xml, 'filename', self.filename)

            for name in self.ATTRIBUTE_NAMES:
                value = getattr(self, name)
                if value != None:
                    xml.appendChild(create_element(doc, name, value))

            return xml

        def __str__(self):
            if self.name!= None:
                s = "Name: {0}\n".format(self.name)
            if self.filename!= None:
                s += "Filename: {0}\n".format(self.filename)

            for name in self.ATTRIBUTE_NAMES:
                value = getattr(self, name)
                if value != None:
                    s += name.title() + ":\n"
                    s += reindent(str(value),1) + '\n'

            return s

    class SimuPlugin(BasePlugin):
        ATTRIBUTE_NAMES = [ 'robotNamespace', 'robotSimType' ]
        def __init__(self,name=None,filename=None,robotNamespace=None,robotSimType=None):
            super(SimuPlugin, self).__init__(name, filename, {'robotNamespace': robotNamespace,
                                                              'robotSimType': robotSimType})

            self.filename = filename