Пример #1
0
 def __init__(self,
              name=None,
              element=None,
              ns=None,
              nsmap=dict(),
              idattribute='id',
              path=None):
     self.format = 0
     self.outpath = path
     self.element = element
     if self.element is None and path is not None:
         self.element = etree.Element(name, nsmap=nsmap)
         alsoProvides(self, IRoot)
     self.namespaces = nsmap
     self.idattribute = idattribute
     _ns, _name = self._extractname(self.element)
     if not name: name = _name
     if not ns: ns = _ns
     if ns: self.prefix = '{%s}' % ns
     else: self.prefix = ''
     self.ns = ns
     OrderedNode.__init__(self, name=name)
     if element is None:
         return
     if etree.iselement(element):
         fq = '%s%s' % (self.prefix, name)
         if element.tag != fq:
             raise ValueError, \
                   'Fq of given element does not match (%s != %s)' \
                   % (element.tag, fq)
         children = self.element.getchildren()
     else:
         children = [element.getroot()]
     self._buildchildren(children)
Пример #2
0
 def __init__(self, name, astnode=None, buffer=[]):
     OrderedNode.__init__(self, name)
     self.astnode = astnode
     self.buffer = buffer
     self.bufstart = None
     self.bufend = None
     self.readlines = None
     self.postlf = 0
     if astnode is not None and hasattr(self.astnode, "lineno"):
         self.bufstart = self.astnode.lineno - 1
         self.bufend = self.astnode.lineno
Пример #3
0
 def __init__(self, name, astnode=None, buffer=[]):
     OrderedNode.__init__(self, name)
     self.astnode = astnode
     self.buffer = buffer
     self.bufstart = None
     self.bufend = None
     self.readlines = None
     self.postlf = 0
     if astnode is not None and hasattr(self.astnode, 'lineno'):
         self.bufstart = self.astnode.lineno - 1
         self.bufend = self.astnode.lineno
Пример #4
0
 def __init__(self, name, paths):
     OrderedNode.__init__(self, name)
     self.xmi = None
     factory = getUtility(IXMLFactory)
     for path in paths:
         buf = self._extract_from_archive(path)
         # XXX: fix this id stuff in node.ext.xml
         if buf:
             xml = factory(path,
                           'id',
                           buf, nsprefix='xmi')
         else:
             xml = factory(path, 'id', nsprefix='xmi')
         self[path] = xml
Пример #5
0
 def __init__(self, name=None, parent=None, nsmap=None, model=None):
     OrderedNode.__init__(self, name=name)
     self.model = model
     if self.model is not None:
         self.model.format = 1
         if nsmap is None:
             self.nsmap = self.model.element.nsmap
     elif parent is not None:
         self.nsmap = parent.model.element.nsmap
         parent[self.uuid] = self
     elif nsmap is not None:
         self.nsmap = nsmap
     else:
         self.nsmap = {
             None: 'http://namespaces.zope.org/zope',
         }