X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a780a8dc191711b8290733ca0817e28eef6e7beb..02b800ce7c2bb1c1f08075f22be2e7412124b47f:/wxPython/samples/ide/activegrid/util/sysutils.py?ds=inline diff --git a/wxPython/samples/ide/activegrid/util/sysutils.py b/wxPython/samples/ide/activegrid/util/sysutils.py new file mode 100644 index 0000000000..eb8bbf08f1 --- /dev/null +++ b/wxPython/samples/ide/activegrid/util/sysutils.py @@ -0,0 +1,87 @@ +#---------------------------------------------------------------------------- +# Name: sysutils.py +# Purpose: System Utilities +# +# Author: Joel Hare +# +# Created: 7/28/04 +# CVS-ID: $Id$ +# Copyright: (c) 2004-2005 ActiveGrid, Inc. +# License: wxWindows License +#---------------------------------------------------------------------------- + +import sys +import os + +# this will be set to true in IDE.py when we are running release builds. +isRelease = False + +# Commented out for now..... +# Required for Unicode support with python +# Put over here because of py2exe problems +# Python suggests modifying site.py +#if hasattr(sys,"setdefaultencoding"): +# sys.setdefaultencoding("UTF-8") + + +MAINMODULE_DIR = "AG_MAINMODULE_DIR" +IS_RELEASE = "AG_IS_RELEASE" + +def isRelease(): + return 'true' == (str(os.getenv(IS_RELEASE)).lower()) + +def setRelease(value): + if value: + os.environ[IS_RELEASE]= "TRUE" + else: + os.environ[IS_RELEASE]= "FALSE" + +def isWindows(): + return os.name == 'nt' + + +def _generateMainModuleDir(): + mainModuleDir = os.getenv(MAINMODULE_DIR) + if mainModuleDir: # if environment variable set, return it + return mainModuleDir + + # On Mac, the python executable sometimes has a capital "P" so we need to + # lower the string first + sysExecLower = sys.executable.lower() + if sysExecLower == "/" or sysExecLower.find('python') != -1 or sysExecLower.find('apache') != -1: + utilModuleDir = os.path.dirname(__file__) + if not os.path.isabs(utilModuleDir): + utilModuleDir = os.path.join(os.getcwd(), utilModuleDir) + mainModuleDir = os.path.normpath(os.path.join(utilModuleDir, os.path.join(os.path.pardir, os.path.pardir))) + if mainModuleDir.endswith('.zip'): + mainModuleDir = os.path.dirname(mainModuleDir) # Get rid of library.zip + else: + mainModuleDir = os.path.dirname(sys.executable) + + os.environ[MAINMODULE_DIR] = mainModuleDir # pythonBug: os.putenv doesn't work, set environment variable + + return mainModuleDir + +mainModuleDir = _generateMainModuleDir() + +def _generatePythonExecPath(): + # On Mac, the python executable sometimes has a capital "P" so we need to + # lower the string first + sysExecLower = sys.executable.lower() + if sysExecLower.find('python') != -1 or sysExecLower.find('apache') != -1: + pythonExecPath = sys.executable + else: + # this is where py2app puts the Python executable + if sys.platform == "darwin": + pythonExecPath = os.path.join(os.path.dirname(sys.executable), "../Frameworks/Python.Framework/Versions/2.4/Python/bin") + else: + pythonExecPath = os.path.join(os.path.dirname(sys.executable), '3rdparty\python2.4\python') + return pythonExecPath + +pythonExecPath = _generatePythonExecPath() + +def getCommandNameForExecPath(execPath): + if isWindows(): + return '"%s"' % execPath + return execPath +