X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/510bb7480c5138dd5127ed3d8b1d9cbab39983c9..1f780e48af479e7bf9a07eaaa1ab6b41f1ffb17b:/wxPython/samples/ide/activegrid/util/__init__.py diff --git a/wxPython/samples/ide/activegrid/util/__init__.py b/wxPython/samples/ide/activegrid/util/__init__.py new file mode 100644 index 0000000000..905f93a0ab --- /dev/null +++ b/wxPython/samples/ide/activegrid/util/__init__.py @@ -0,0 +1,72 @@ +import logging +import cStringIO +import traceback +import sys +import string +import os + +def classForName(className): + pathList = className.split('.') + moduleName = string.join(pathList[:-1], '.') + code = __import__(moduleName) + for name in pathList[1:]: + code = code.__dict__[name] + return code + +def hasattrignorecase(object, name): + for attr in dir(object): + if attr.lower() == name.lower(): + return True + for attr in dir(object): + if attr.lower() == '_' + name.lower(): + return True + return False + + +def setattrignorecase(object, name, value): + for attr in object.__dict__: + if attr.lower() == name.lower(): + object.__dict__[attr] = value + return +## for attr in dir(object): +## if attr.lower() == '_' + name.lower(): +## object.__dict__[attr] = value +## return + object.__dict__[name] = value + +def getattrignorecase(object, name): + for attr in object.__dict__: + if attr.lower() == name.lower(): + return object.__dict__[attr] +## for attr in dir(object): +## if attr.lower() == '_' + name.lower(): +## return object.__dict__[attr] + return object.__dict__[name] + + +def defaultLoad(fileObject): + xml = fileObject.read() + loadedObject = xmlmarshaller.unmarshal(xml) + if hasattr(fileObject, 'name'): + loadedObject.fileName = os.path.abspath(fileObject.name) + loadedObject.initialize() + return loadedObject + +def defaultSave(fileObject, objectToSave): + xml = xmlmarshaller.marshal(objectToSave, prettyPrint=True) + fileObject.write(xml) + + +def clone(objectToClone): + xml = xmlmarshaller.marshal(objectToClone, prettyPrint=True) + clonedObject = xmlmarshaller.unmarshal(xml) + if hasattr(objectToClone, 'fileName'): + clonedObject.fileName = objectToClone.fileName + clonedObject.initialize() + return clonedObject + +def exceptionToString(e): + sio = cStringIO.StringIO() + traceback.print_exception(e.__class__, e, sys.exc_traceback, file=sio) + return sio.getvalue() +