]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/samples/ide/activegrid/util/utillang.py
move wxPython to new trunk
[wxWidgets.git] / wxPython / samples / ide / activegrid / util / utillang.py
diff --git a/wxPython/samples/ide/activegrid/util/utillang.py b/wxPython/samples/ide/activegrid/util/utillang.py
deleted file mode 100644 (file)
index fad7e20..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-#----------------------------------------------------------------------------
-# Name:         utillang.py
-# Purpose:      Provide language specific utilities 
-#
-# Author:       Joel Hare
-#
-# Created:      8/23/05
-# CVS-ID:       $Id$
-# Copyright:    (c) 2004-2005 ActiveGrid, Inc.
-# License:      wxWindows License
-#----------------------------------------------------------------------------
-
-import os
-import sys
-import UserDict
-import tempfile
-import xml.sax.saxutils as saxutils
-
-import activegrid.util.parser as parser
-
-PY2WEB_codepages = {
-     'cp1251' : 'CP-1251',
-     'koi8_r' : 'KOI8-R',
-}
-
-def evalXPath(xpath, data, specialEntries=None):
-    codeStr = parser.xpathToCode(xpath)
-    return evalCode(codeStr, data, specialEntries)
-
-def evalCode(codeStr, data, specialEntries=None):
-    if isinstance(data, ObjAsDict):
-        namespace = data
-    elif isinstance(data, dict):
-        namespace = dict(data)
-    else:
-        namespace = ObjAsDict(data)
-    if specialEntries:
-        for key, value in specialEntries.items():
-            namespace.addSpecialEntry(key, value)
-    return eval(codeStr, {}, namespace)
-
-def deriveCharset():
-    charset = None
-    encodingString = sys.getdefaultencoding()
-    if encodingString != 'ascii':
-        charset = PY2WEB_codepages.get(encodingString.lower())
-        if charset == None:
-            charset = encodingString
-    return charset
-
-def toUTF8(value):
-    """
-    Converts all unicode and non-string values to utf-8.
-    This assumes string instances are already encoded in utf-8.
-    Note that us-ascii is a subset of utf-8.
-    """
-    if isinstance(value, unicode):
-        return value.encode('utf-8')
-    return str(value)
-
-def toUnicode(value):
-    """
-    Converts all strings non-string values to unicode.
-    This assumes string instances are encoded in utf-8.
-    Note that us-ascii is a subset of utf-8.
-    """
-    if not isinstance(value, unicode):
-        if not isinstance(value, str):
-            return unicode(value)
-        return unicode(value, 'utf-8')
-    return value
-    
-
-def getSystemTempDir():
-    return tempfile.gettempdir()
-
-def getEnvVar(name, defaultVal=None):
-    if os.environ.has_key(name):
-        return os.environ[name]
-    return defaultVal
-
-class ObjAsDict(UserDict.DictMixin):
-    """
-    Passing this to eval as the local variables dictionary allows the
-    evaluated code to access properties in the wrapped object
-    """
-    def __init__(self, obj):
-        self.obj = obj
-        self.specialEntries = {}
-
-    def __getitem__(self, key):
-        try:
-            return getattr(self.obj, key)
-        except AttributeError, e:
-            if self.specialEntries.has_key(key):
-                return self.specialEntries[key]
-            raise KeyError(e.args)
-    def __setitem__(self, key, item): setattr(self.obj, key, item)
-    def __delitem__(self, key): delattr(self.obj, key)
-    def keys(self):
-        ret=[]
-        for i in list(dir(self.obj)+self.specialEntries.keys()):
-            if i=="__doc__" or i=="__module__":
-                pass
-            elif i not in ret:
-                ret.append(i)
-        return ret
-
-    def addSpecialEntry(self, key, value):
-        self.specialEntries[key] = value
-
-global saxXMLescapeDoubleQuote
-saxXMLescapeDoubleQuote = {'"':'"'}
-
-global saxXMLescapesAllQuotes
-# IE doesn't support ' but it doesn't seem like we should need this escaped at all so I took it out.
-saxXMLescapesAllQuotes = {'"':'"', "'":"'"}
-
-global saxXMLunescapes
-saxXMLunescapes = {'"':'"', "'":"'"}
-
-def escape(data, extraEscapes=None):
-    """Escape ', ", &, <, and > in a string of data.
-
-    Basically, everything that saxutils.escape does (and this calls that, at
-    least for now), but with " and ' added as well.
-
-    TODO: make this faster; saxutils.escape() is really slow
-    """
-    
-    global saxXMLescapeDoubleQuote
-    if (extraEscapes == None):
-        extraEscapes = saxXMLescapeDoubleQuote
-    return saxutils.escape(data, extraEscapes)
-
-def unescape(data):
-    """Unescape ', ", &, <, and > in a string of data.
-
-    Basically, everything that saxutils.unescape does (and this calls that, at
-    least for now), but with " and ' added as well.
-
-    TODO: make this faster; saxutils.unescape() is really slow
-    """
-    
-    global saxXMLunescapes
-    return saxutils.unescape(data, saxXMLunescapes)