From 959040913ac34b4e701c4d576781e4cdbca3d635 Mon Sep 17 00:00:00 2001 From: elupus <elupus@xbmc.org> Date: Sun, 10 Apr 2011 15:20:33 +0200 Subject: changed: override os.getcwd() and os.chdir() functions to make addons relying on it work Feel free to revert whenever ALL addons have been corrected to avoid using this. --- xbmc/interfaces/python/XBPython.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/xbmc/interfaces/python/XBPython.cpp b/xbmc/interfaces/python/XBPython.cpp index ee34fbcead..487a30d7bb 100644 --- a/xbmc/interfaces/python/XBPython.cpp +++ b/xbmc/interfaces/python/XBPython.cpp @@ -250,6 +250,25 @@ void XBPython::InitializeInterpreter() "import sys\n" "sys.stdout = xbmcout()\n" "sys.stderr = xbmcout()\n" + "" + "import os\n" + "def getcwd_xbmc():\n" + " import __main__\n" + " import warnings\n" + " if hasattr(__main__, \"__file__\"):\n" + " warnings.warn(\"os.getcwd() is depreciated for getting addon directory use os.path.dirname(__main__.__file__)\", DeprecationWarning, stacklevel=2)\n" + " return os.path.dirname(__main__.__file__)\n" + " else:\n" + " return os.getcwd_original()\n" + "" + "def chdir_xbmc(dir):\n" + " raise RuntimeError(\"os.chdir not supported in xbmc\")\n" + "" + "os_getcwd_original = os.getcwd\n" + "os.getcwd = getcwd_xbmc\n" + "os.chdir_orignal = os.chdir\n" + "os.chdir = chdir_xbmc\n" + "" "print '-->Python Interpreter Initialized<--'\n" "") == -1) { -- cgit v1.2.3