Exemple #1
0
void XBPython::InitializeInterpreter(ADDON::AddonPtr addon)
{
/*
	歌方:
		1、
		
	卦指:
		1、
		
	傍苧:
		1、
*/
	InitXBMCModule(); // init xbmc modules
	InitPluginModule(); // init xbmcplugin modules
	InitGUIModule(); // init xbmcgui modules
	InitAddonModule(); // init xbmcaddon modules
	InitVFSModule(); // init xbmcvfs modules

	CStdString addonVer = ADDON::GetXbmcApiVersionDependency(addon);
	bool bwcompatMode = (addon.get() == NULL || (ADDON::AddonVersion(addonVer) <= ADDON::AddonVersion("1.0")));
	const char* runscript = bwcompatMode ? RUNSCRIPT_BWCOMPATIBLE : RUNSCRIPT_COMPLIANT;

	// redirecting default output to debug console
	if (PyRun_SimpleString(runscript) == -1)
	{
		CLog::Log(LOGFATAL, "Python Initialize Error");
	}
}
Exemple #2
0
void XBPython::InitializeInterpreter()
{
  InitXBMCModule(); // init xbmc modules
  InitPluginModule(); // init plugin modules
  InitGUIModule(); // init xbmcgui modules

  CStdString envstring = "";
  // set HTTP_PROXY and HTTPS_PROXY env variables
  if (g_guiSettings.GetBool("network.usehttpproxy") &&
      g_guiSettings.GetString("network.httpproxyserver") &&
      g_guiSettings.GetString("network.httpproxyport"))
  {
    CStdString env;
    CStdString proxy = "http://" + g_guiSettings.GetString("network.httpproxyserver")
                           + ":" + g_guiSettings.GetString("network.httpproxyport");
    envstring += "import os\n";
    env.Format("os.environ['HTTP_PROXY']='%s'\n", proxy.c_str()); 
    envstring += env;
    env.Format("os.environ['HTTPS_PROXY']='%s'\n", proxy.c_str()); 
    envstring += env;
  };
  // redirecting default output to debug console
  envstring += (
        "import xbmc\n"
        "class xbmcout:\n"
        "	def write(self, data):\n"
        "		xbmc.output(data)\n"
        "	def close(self):\n"
        "		xbmc.output('.')\n"
        "	def flush(self):\n"
        "		xbmc.output('.')\n"
        "\n"
        "import sys\n"
        "sys.stdout = xbmcout()\n"
        "sys.stderr = xbmcout()\n"
        "print '-->Python Interpreter Initialized<--'\n"
        "");

  if (PyRun_SimpleString(envstring.c_str()) == -1)
  {
    CLog::Log(LOGFATAL, "Python Initialize Error");
  }
}