libs: file: install fix
[feed/packages.git] / utils / domoticz / patches / 902_add-scripts-path.patch
index 919cfeeea6868ebcb040e2ebabbdae564a9bdf26..031321e91ebde0b1a5f3c9d7ba91a51732310b27 100644 (file)
@@ -1,7 +1,7 @@
 --- a/hardware/OpenZWave.cpp
 +++ b/hardware/OpenZWave.cpp
-@@ -993,7 +993,7 @@ bool COpenZWave::OpenSerialConnector()
-       }
+@@ -948,7 +948,7 @@ bool COpenZWave::OpenSerialConnector()
        m_nodes.clear();
        m_bNeedSave = false;
 -      std::string ConfigPath = szStartupFolder + "Config/";
        {
 --- a/main/EventSystem.cpp
 +++ b/main/EventSystem.cpp
-@@ -44,7 +44,7 @@ extern "C" {
- using namespace boost::python;
+@@ -33,7 +33,7 @@ extern "C" {
  #endif
+ }
  
 -extern std::string szUserDataFolder;
 +extern std::string szScriptsFolder;
+ extern http::server::CWebServerHelper m_webservers;
  
- CEventSystem::CEventSystem(void)
- {
-@@ -1086,9 +1086,9 @@ void CEventSystem::EvaluateEvent(const s
-       std::stringstream lua_DirT;
+ static std::string m_printprefix;
+@@ -149,7 +149,7 @@ void CEventSystem::StartEventSystem()
+       GetCurrentScenesGroups();
+       GetCurrentUserVariables();
+ #ifdef ENABLE_PYTHON
+-    Plugins::PythonEventsInitialize(szUserDataFolder);
++    Plugins::PythonEventsInitialize(szScriptsFolder);
+ #endif
  
+       m_thread = boost::shared_ptr<boost::thread>(new boost::thread(boost::bind(&CEventSystem::Do_Work, this)));
+@@ -181,9 +181,9 @@ void CEventSystem::LoadEvents()
+ {
+       std::string dzv_Dir,s;
  #ifdef WIN32
--      lua_DirT << szUserDataFolder << "scripts\\lua\\";
-+      lua_DirT << szScriptsFolder << "lua\\";
+-      dzv_Dir = szUserDataFolder + "scripts\\dzVents\\generated_scripts\\";
++      dzv_Dir = szScriptsFolder + "dzVents\\generated_scripts\\";
  #else
--      lua_DirT << szUserDataFolder << "scripts/lua/";
-+      lua_DirT << szScriptsFolder << "lua/";
+-      dzv_Dir = szUserDataFolder + "scripts/dzVents/generated_scripts/";
++      dzv_Dir = szScriptsFolder + "dzVents/generated_scripts/";
  #endif
-       std::string lua_Dir = lua_DirT.str();
-@@ -1139,9 +1139,9 @@ void CEventSystem::EvaluateEvent(const s
-       {
-               std::stringstream python_DirT;
+       boost::unique_lock<boost::shared_mutex> eventsMutexLock(m_eventsMutex);
+       _log.Log(LOG_STATUS, "EventSystem: reset all events...");
+@@ -274,18 +274,18 @@ void CEventSystem::LoadEvents()
+ void CEventSystem::Do_Work()
+ {
  #ifdef WIN32
--              python_DirT << szUserDataFolder << "scripts\\python\\";
-+              python_DirT << szScriptsFolder << "python\\";
+-      m_lua_Dir = szUserDataFolder + "scripts\\lua\\";
+-      m_dzv_Dir = szUserDataFolder + "scripts\\dzVents\\runtime\\";
++      m_lua_Dir = szScriptsFolder + "lua\\";
++      m_dzv_Dir = szScriptsFolder + "dzVents\\runtime\\";
  #else
--              python_DirT << szUserDataFolder << "scripts/python/";
-+              python_DirT << szScriptsFolder << "python/";
+-      m_lua_Dir = szUserDataFolder + "scripts/lua/";
+-      m_dzv_Dir = szUserDataFolder + "scripts/dzVents/runtime/";
++      m_lua_Dir = szScriptsFolder + "lua/";
++      m_dzv_Dir = szScriptsFolder + "dzVents/runtime/";
  #endif
  
-               std::string python_Dir = python_DirT.str();
-@@ -2021,7 +2021,7 @@ bool CEventSystem::parseBlocklyActions(c
+ #ifdef ENABLE_PYTHON
+ #ifdef WIN32
+-      m_python_Dir = szUserDataFolder + "scripts\\python\\";
++      m_python_Dir = szScriptsFolder + "python\\";
+ #else
+-      m_python_Dir = szUserDataFolder + "scripts/python/";
++      m_python_Dir = szScriptsFolder + "python/";
+ #endif
+ #endif
+       m_stoprequested = false;
+@@ -1426,9 +1426,9 @@ void CEventSystem::EvaluateEvent(const s
+               {
+                       std::string dzv_scripts;
+ #ifdef WIN32
+-                      dzv_scripts = szUserDataFolder + "scripts\\dzVents\\scripts\\";
++                      dzv_scripts = szScriptsFolder + "dzVents\\scripts\\";
+ #else
+-                      dzv_scripts = szUserDataFolder + "scripts/dzVents/scripts/";
++                      dzv_scripts = szScriptsFolder + "dzVents/scripts/";
+ #endif
+                       DirectoryListing(FileEntries, dzv_scripts, false, true);
+                       for (itt = FileEntries.begin(); itt != FileEntries.end(); ++itt)
+@@ -2404,7 +2404,7 @@ bool CEventSystem::parseBlocklyActions(c
                        }
  #if !defined WIN32
                        if (sPath.find("/") != 0)
 +                              sPath = szScriptsFolder + sPath;
  #endif
  
-                       m_sql.AddTaskItem(_tTaskItem::ExecuteScript(1, sPath, sParam));
-@@ -2133,9 +2133,9 @@ void CEventSystem::EvaluatePython(const
-       std::stringstream python_DirT;
+                       m_sql.AddTaskItem(_tTaskItem::ExecuteScript(0.2f, sPath, sParam));
+@@ -3508,11 +3508,11 @@ void CEventSystem::EvaluateLua(const std
+               {
+                       std::stringstream lua_DirT;
  
+-                      lua_DirT << szUserDataFolder <<
++                      lua_DirT << szScriptsFolder <<
  #ifdef WIN32
--      python_DirT << szUserDataFolder << "scripts\\python\\";
-+      python_DirT << szScriptsFolder << "python\\";
+-                      "scripts\\dzVents\\";
++                      "dzVents\\";
  #else
--      python_DirT << szUserDataFolder << "scripts/python/";
-+      python_DirT << szScriptsFolder << "python/";
+-                      "scripts/dzVents/";
++                      "dzVents/";
  #endif
-       std::string python_Dir = python_DirT.str();
-       if(!Py_IsInitialized()) {
-@@ -3909,9 +3909,9 @@ namespace http {
+                       lua_pushstring(lua_state, "script_path");
+@@ -4695,9 +4695,9 @@ namespace http {
  
                                std::stringstream template_file;
  #ifdef WIN32
 -extern std::string szUserDataFolder;
 +extern std::string szScriptsFolder;
  
- int CLuaHandler::l_domoticz_applyXPath(lua_State* lua_state)
+ int CLuaHandler::l_domoticz_updateDevice(lua_State* lua_state)
  {
-@@ -319,9 +319,9 @@ bool CLuaHandler::executeLuaScript(const
+@@ -155,9 +155,9 @@ bool CLuaHandler::executeLuaScript(const
  {
        std::stringstream lua_DirT;
  #ifdef WIN32
  
 --- a/main/SQLHelper.cpp
 +++ b/main/SQLHelper.cpp
-@@ -612,6 +612,7 @@ const char *sqlCreateMobileDevices =
+@@ -633,6 +633,7 @@ const char *sqlCreateMobileDevices =
  "[LastUpdate] DATETIME DEFAULT(datetime('now', 'localtime'))"
  ");";
  
  extern std::string szUserDataFolder;
  
  CSQLHelper::CSQLHelper(void)
-@@ -3408,9 +3409,9 @@ unsigned long long CSQLHelper::UpdateVal
+@@ -3683,9 +3684,9 @@ uint64_t CSQLHelper::UpdateValueInt(cons
                                //Execute possible script
                                std::string scriptname;
  #ifdef WIN32
  #endif
                                if (file_exist(scriptname.c_str()))
                                {
-@@ -6460,7 +6461,7 @@ bool CSQLHelper::HandleOnOffAction(const
+@@ -6641,7 +6642,7 @@ bool CSQLHelper::HandleOnOffAction(const
                        std::string scriptname = OnAction.substr(9);
  #if !defined WIN32
                        if (scriptname.find("/") != 0)
  #endif
                        std::string scriptparams="";
                        //Add parameters
-@@ -6492,7 +6493,7 @@ bool CSQLHelper::HandleOnOffAction(const
-                       std::string scriptname = OffAction.substr(9);
+@@ -6675,7 +6676,7 @@ bool CSQLHelper::HandleOnOffAction(const
+               std::string scriptname = OffAction.substr(9);
  #if !defined WIN32
-                       if (scriptname.find("/") != 0)
--                              scriptname = szUserDataFolder + "scripts/" + scriptname;
-+                              scriptname = szScriptsFolder + scriptname;
+               if (scriptname.find("/") != 0)
+-                      scriptname = szUserDataFolder + "scripts/" + scriptname;
++                      scriptname = szScriptsFolder + scriptname;
  #endif
-                       std::string scriptparams="";
-                       int pindex=scriptname.find(' ');
+               std::string scriptparams = "";
+               int pindex = scriptname.find(' ');
 --- a/main/WebServer.cpp
 +++ b/main/WebServer.cpp
-@@ -55,6 +55,7 @@
+@@ -59,6 +59,7 @@
  
  #define round(a) ( int ) ( a + .5 )
  
  extern std::string szUserDataFolder;
  extern std::string szWWWFolder;
  
-@@ -2614,9 +2615,9 @@ namespace http {
+@@ -2987,9 +2988,9 @@ namespace http {
                        if (scriptname.find("..") != std::string::npos)
                                return;
  #ifdef WIN32
                                return;
 --- a/main/domoticz.cpp
 +++ b/main/domoticz.cpp
-@@ -135,6 +135,7 @@ static const _facilities facilities[] =
+@@ -136,6 +136,7 @@ static const _facilities facilities[] =
  }; 
  std::string logfacname = "user";
  #endif
  std::string szStartupFolder;
  std::string szUserDataFolder;
  std::string szWWWFolder;
-@@ -603,6 +604,19 @@ int main(int argc, char**argv)
+@@ -696,6 +697,19 @@ int main(int argc, char**argv)
                        szUserDataFolder = szroot;
        }
  
                if (cmdLine.GetArgumentCount("-startupdelay") != 1)
 --- a/main/mainworker.cpp
 +++ b/main/mainworker.cpp
-@@ -139,6 +139,7 @@
+@@ -159,6 +159,7 @@
  
  #define round(a) ( int ) ( a + .5 )
  
  extern std::string szStartupFolder;
  extern std::string szUserDataFolder;
  extern std::string szWWWFolder;
-@@ -1394,8 +1395,8 @@ void MainWorker::Do_Work()
+@@ -1473,8 +1474,8 @@ void MainWorker::Do_Work()
                        m_sql.GetPreferencesVar("ReleaseChannel", nValue);
                        bool bIsBetaChannel = (nValue != 0);
  
  
  CNotificationHTTP::CNotificationHTTP() : CNotificationBase(std::string("http"), OPTIONS_NONE)
  {
-@@ -97,7 +97,7 @@ bool CNotificationHTTP::SendMessageImple
+@@ -105,7 +105,7 @@ bool CNotificationHTTP::SendMessageImple
                std::string scriptparams = "";
  #if !defined WIN32
                if (scriptname.find("/") != 0)
                uPos = scriptname.find(" ");
 --- a/push/GooglePubSubPush.cpp
 +++ b/push/GooglePubSubPush.cpp
-@@ -20,7 +20,7 @@ extern "C" {
+@@ -22,7 +22,7 @@ extern "C" {
  using namespace boost::python;
  #endif
  
  
  // this should be filled in by the preprocessor
  extern const char * Python_exe;
-@@ -222,11 +222,11 @@ void CGooglePubSubPush::DoGooglePubSubPu
+@@ -231,11 +231,11 @@ void CGooglePubSubPush::DoGooglePubSubPu
  
- #ifdef ENABLE_PYTHON
+ #ifdef ENABLE_PYTHON_DECAP
  #ifdef WIN32
 -                              python_DirT << szUserDataFolder << "scripts\\python\\";
 -                              std::string filename = szUserDataFolder + "scripts\\python\\" + "googlepubsub.py";
 +                              std::string filename = szScriptsFolder + "python/" + "googlepubsub.py";
  #endif
  
-                               char * argv[1];
+                               wchar_t * argv[1];
+--- a/hardware/EvohomeScript.cpp
++++ b/hardware/EvohomeScript.cpp
+@@ -30,7 +30,7 @@
+ #include <string>
+-extern std::string szUserDataFolder;
++extern std::string szScriptsFolder;
+ CEvohomeScript::CEvohomeScript(const int ID)
+@@ -143,7 +143,7 @@ void CEvohomeScript::RunScript(const cha
+                       std::string scriptname = OnAction.substr(9);
+ #if !defined WIN32
+                       if (scriptname.find("/") != 0)
+-                              scriptname = szUserDataFolder + "scripts/" + scriptname;
++                              scriptname = szScriptsFolder + "scripts/" + scriptname;
+ #endif
+                       std::string scriptparams="";
+                       //Add parameters
+--- a/main/EventsPythonModule.cpp
++++ b/main/EventsPythonModule.cpp
+@@ -108,7 +108,7 @@
+         
+         int PythonEventsInitalized = 0;
+-        bool PythonEventsInitialize(std::string szUserDataFolder) {
++        bool PythonEventsInitialize(std::string szScriptsFolder) {
+             
+             if (!Plugins::Py_LoadLibrary())
+             {
+@@ -131,9 +131,9 @@
+             
+             std::string ssPath;
+ #ifdef WIN32
+-            ssPath  = szUserDataFolder + "scripts\\python\\;";
++            ssPath  = szScriptsFolder + "python\\;";
+ #else
+-            ssPath  = szUserDataFolder + "scripts/python/:";
++            ssPath  = szScriptsFolder + "python/:";
+ #endif
+             
+             std::wstring sPath = std::wstring(ssPath.begin(), ssPath.end());