X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/669e06d77ebb561f43a745a4b2b72e22ac19381d..a9b4774c0502f29e0f8eb6757a944420d02d5274:/wxPython/src/_core_ex.py diff --git a/wxPython/src/_core_ex.py b/wxPython/src/_core_ex.py index 656a54a991..4edb0d2ce3 100644 --- a/wxPython/src/_core_ex.py +++ b/wxPython/src/_core_ex.py @@ -32,19 +32,32 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION: #---------------------------------------------------------------------------- -# Set the default string<-->unicode conversion encoding from the -# locale. This encoding is used when string or unicode objects need -# to be converted in order to pass them to wxWidgets. Please be aware -# that the default encoding within the same locale may be slightly -# different on different platforms. For example, please see +# Set wxPython's default string<-->unicode conversion encoding from +# the locale, but only if Python's default hasn't been changed. (We +# assume that if the user has customized it already then that is the +# encoding we need to use as well.) +# +# The encoding selected here is used when string or unicode objects +# need to be converted in order to pass them to wxWidgets. Please be +# aware that the default encoding within the same locale may be +# slightly different on different platforms. For example, please see # http://www.alanwood.net/demos/charsetdiffs.html for differences # between the common latin/roman encodings. -import locale -default = locale.getdefaultlocale()[1] + +default = _sys.getdefaultencoding() +if default == 'ascii': + import locale + import codecs + try: + default = locale.getdefaultlocale()[1] + codecs.lookup(default) + except (ValueError, LookupError, TypeError): + default = _sys.getdefaultencoding() + del locale + del codecs if default: wx.SetDefaultPyEncoding(default) del default -del locale #---------------------------------------------------------------------------- @@ -253,7 +266,7 @@ class __DocFilter: obj = self._globals.get(name, None) if type(obj) not in [type, types.ClassType, types.FunctionType, types.BuiltinFunctionType]: return False - if name.startswith('_') or name.endswith('Ptr') or name.startswith('EVT'): + if name.startswith('_') or name.startswith('EVT') or name.endswith('_swigregister') or name.endswith('Ptr') : return False return True @@ -267,10 +280,5 @@ from _windows import * from _controls import * from _misc import * - -# Fixup the stock objects since they can't be used yet. (They will be -# restored in wx.PyApp.OnInit.) -_core_._wxPyFixStockObjects() - #---------------------------------------------------------------------------- #----------------------------------------------------------------------------