Thread: [PyWebMail-Checkins] webmail/webmail/utils xmlcompat.py,1.3,1.4
Status: Beta
Brought to you by:
dubnerm
From: Michael D. <du...@us...> - 2007-12-08 17:57:30
|
Update of /cvsroot/pywebmail/webmail/webmail/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12801 Modified Files: xmlcompat.py Log Message: revoke support of ironpython before IPCE-r7 Index: xmlcompat.py =================================================================== RCS file: /cvsroot/pywebmail/webmail/webmail/utils/xmlcompat.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** xmlcompat.py 4 Aug 2007 10:45:57 -0000 1.3 --- xmlcompat.py 8 Dec 2007 16:54:14 -0000 1.4 *************** *** 53,162 **** raise - elif sys.platform == "cli": - import clr - clr.AddReference("System.Xml") - import System.Xml - - def _wrap(o): - if getattr(o, '__module__', None) == '__builtin__': - return o - if callable(o): - return _CallableWrapper(o) - if getattr(o, '__module__', None).startswith('System.Xml'): - return _Wrapper(o) - if callable(getattr(o, 'next', None)): - return _IterWrapper(o) - if type(o) == type(()): - return tuple(map(_wrap, o)) - if type(o) == type([]): - return map(_wrap, o) - return o - - class _Wrapper: - def __init__(self, o): - self.__o = None - if getattr(o, '__class__', None) is self.__class__: - o = o.__o - print dir(o) - print o - print o.__name__ - print o.__module__ - print o.__class__ - raise Exception - self.__o = o - - def __unwrap__(self): - return self.__o - - def __getattr__(self, name): - nname = name[:1].upper()+name[1:] - if name == 'tagName': nname = 'Name' - o = self.__o - #print '%s(%X).__getattr__: %s -> %s' % (o.__class__, id(o), name, nname) - #print ' ', dir(o) - attr = getattr(o, nname) - #print ' ->', type(attr), id(attr), dir(attr) - if attr is o: return self - return _wrap(attr) - - def isSameNode(self, other): - if hasattr(other, '__unwrap__'): - other = other.__unwrap__() - return self.__unwrap__().Equals(other) - - class _CallableWrapper: - def __init__(self, o): - self.__o = None - if getattr(o, '__class__', None) is self.__class__: - o = o.__o - print dir(o) - print o - print o.__name__ - print o.__module__ - print o.__class__ - raise Exception - self.__o = o - - def __unwrap__(self): - return self.__o - - def __call__(self, *targs, **kwargs): - print '%s.__call__%s + %s' % (self.__o, targs, kwargs) - t = [] - for item in targs: - if hasattr(item, '__unwrap__'): - item = item.__unwrap__() - t.append(item) - kw = {} - for key,item in kwargs.items(): - if hasattr(item, '__unwrap__'): - item = item.__unwrap__() - kw[key] = item - return _wrap(apply(self.__o, t, kw)) - - class _IterWrapper(_Wrapper): - def __iter__(self): - return self - - def next(self): - return _wrap(self.__unwrap__().next()) - - def __getitem__(self, key): - return _wrap(self.__unwrap__()[key]) - - def parsestring(s): - doc = System.Xml.XmlDocument() - doc.LoadXml(s) - return _Wrapper(doc) - - def attritems(elem): - return map(_wrap, elem.Attributes.items()) - - def nodelist(nodelist): - return map(_wrap, nodelist) - - def xml2str(node): - return node.OuterXml - else: import xml.dom.minidom --- 53,56 ---- |