- --- a/hardware/OpenZWave.cpp
- +++ b/hardware/OpenZWave.cpp
- @@ -948,7 +948,7 @@ bool COpenZWave::OpenSerialConnector()
-
- m_nodes.clear();
- m_bNeedSave = false;
- - std::string ConfigPath = szStartupFolder + "Config/";
- + std::string ConfigPath = "/usr/share/domoticz/openzwave/";
- std::string UserPath = ConfigPath;
- if (szStartupFolder != szUserDataFolder)
- {
- --- a/main/EventSystem.cpp
- +++ b/main/EventSystem.cpp
- @@ -33,7 +33,7 @@ extern "C" {
- #endif
- }
-
- -extern std::string szUserDataFolder;
- +extern std::string szScriptsFolder;
- extern http::server::CWebServerHelper m_webservers;
-
- 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
- - dzv_Dir = szUserDataFolder + "scripts\\dzVents\\generated_scripts\\";
- + dzv_Dir = szScriptsFolder + "dzVents\\generated_scripts\\";
- #else
- - dzv_Dir = szUserDataFolder + "scripts/dzVents/generated_scripts/";
- + dzv_Dir = szScriptsFolder + "dzVents/generated_scripts/";
- #endif
- 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
- - 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
- - 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
-
- #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 = szUserDataFolder + "scripts/" + sPath;
- + sPath = szScriptsFolder + sPath;
- #endif
-
- 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
- - "scripts\\dzVents\\";
- + "dzVents\\";
- #else
- - "scripts/dzVents/";
- + "dzVents/";
- #endif
-
- lua_pushstring(lua_state, "script_path");
- @@ -4695,9 +4695,9 @@ namespace http {
-
- std::stringstream template_file;
- #ifdef WIN32
- - template_file << szUserDataFolder << "scripts\\templates\\" << eventType << "." << interpreter;
- + template_file << szScriptsFolder << "templates\\" << eventType << "." << interpreter;
- #else
- - template_file << szUserDataFolder << "scripts/templates/" << eventType << "." << interpreter;
- + template_file << szScriptsFolder << "templates/" << eventType << "." << interpreter;
- #endif
- std::ifstream file;
- std::stringstream template_content;
- --- a/main/LuaHandler.cpp
- +++ b/main/LuaHandler.cpp
- @@ -22,7 +22,7 @@ extern "C" {
- #include "mainworker.h"
- #include "../hardware/hardwaretypes.h"
-
- -extern std::string szUserDataFolder;
- +extern std::string szScriptsFolder;
-
- int CLuaHandler::l_domoticz_updateDevice(lua_State* lua_state)
- {
- @@ -155,9 +155,9 @@ bool CLuaHandler::executeLuaScript(const
- {
- std::stringstream lua_DirT;
- #ifdef WIN32
- - lua_DirT << szUserDataFolder << "scripts\\lua_parsers\\";
- + lua_DirT << szScriptsFolder << "lua_parsers\\";
- #else
- - lua_DirT << szUserDataFolder << "scripts/lua_parsers/";
- + lua_DirT << szScriptsFolder << "lua_parsers/";
- #endif
- std::string lua_Dir = lua_DirT.str();
-
- --- a/main/SQLHelper.cpp
- +++ b/main/SQLHelper.cpp
- @@ -633,6 +633,7 @@ const char *sqlCreateMobileDevices =
- "[LastUpdate] DATETIME DEFAULT(datetime('now', 'localtime'))"
- ");";
-
- +extern std::string szScriptsFolder;
- extern std::string szUserDataFolder;
-
- CSQLHelper::CSQLHelper(void)
- @@ -3683,9 +3684,9 @@ uint64_t CSQLHelper::UpdateValueInt(cons
- //Execute possible script
- std::string scriptname;
- #ifdef WIN32
- - scriptname = szUserDataFolder + "scripts\\domoticz_main.bat";
- + scriptname = szScriptsFolder + "domoticz_main.bat";
- #else
- - scriptname = szUserDataFolder + "scripts/domoticz_main";
- + scriptname = szScriptsFolder + "domoticz_main";
- #endif
- if (file_exist(scriptname.c_str()))
- {
- @@ -6641,7 +6642,7 @@ bool CSQLHelper::HandleOnOffAction(const
- std::string scriptname = OnAction.substr(9);
- #if !defined WIN32
- if (scriptname.find("/") != 0)
- - scriptname = szUserDataFolder + "scripts/" + scriptname;
- + scriptname = szScriptsFolder + scriptname;
- #endif
- std::string scriptparams="";
- //Add parameters
- @@ -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;
- #endif
- std::string scriptparams = "";
- int pindex = scriptname.find(' ');
- --- a/main/WebServer.cpp
- +++ b/main/WebServer.cpp
- @@ -59,6 +59,7 @@
-
- #define round(a) ( int ) ( a + .5 )
-
- +extern std::string szScriptsFolder;
- extern std::string szUserDataFolder;
- extern std::string szWWWFolder;
-
- @@ -2987,9 +2988,9 @@ namespace http {
- if (scriptname.find("..") != std::string::npos)
- return;
- #ifdef WIN32
- - scriptname = szUserDataFolder + "scripts\\" + scriptname;
- + scriptname = szScriptsFolder + scriptname;
- #else
- - scriptname = szUserDataFolder + "scripts/" + scriptname;
- + scriptname = szScriptsFolder + scriptname;
- #endif
- if (!file_exist(scriptname.c_str()))
- return;
- --- a/main/domoticz.cpp
- +++ b/main/domoticz.cpp
- @@ -136,6 +136,7 @@ static const _facilities facilities[] =
- };
- std::string logfacname = "user";
- #endif
- +std::string szScriptsFolder;
- std::string szStartupFolder;
- std::string szUserDataFolder;
- std::string szWWWFolder;
- @@ -696,6 +697,19 @@ int main(int argc, char**argv)
- szUserDataFolder = szroot;
- }
-
- + szScriptsFolder=szStartupFolder;
- + if (cmdLine.HasSwitch("-scripts"))
- + {
- + if (cmdLine.GetArgumentCount("-scripts") != 1)
- + {
- + _log.Log(LOG_ERROR, "Please specify a path for scripts directory");
- + return 1;
- + }
- + std::string szroot = cmdLine.GetSafeArgument("-scripts", 0, "");
- + if (szroot.size() != 0)
- + szScriptsFolder = szroot;
- + }
- +
- if (cmdLine.HasSwitch("-startupdelay"))
- {
- if (cmdLine.GetArgumentCount("-startupdelay") != 1)
- --- a/main/mainworker.cpp
- +++ b/main/mainworker.cpp
- @@ -159,6 +159,7 @@
-
- #define round(a) ( int ) ( a + .5 )
-
- +extern std::string szScriptsFolder;
- extern std::string szStartupFolder;
- extern std::string szUserDataFolder;
- extern std::string szWWWFolder;
- @@ -1473,8 +1474,8 @@ void MainWorker::Do_Work()
- m_sql.GetPreferencesVar("ReleaseChannel", nValue);
- bool bIsBetaChannel = (nValue != 0);
-
- - std::string scriptname = szUserDataFolder + "scripts/download_update.sh";
- - std::string strparm = szUserDataFolder;
- + std::string scriptname = szScriptsFolder + "download_update.sh";
- + std::string strparm = szScriptsFolder;
- if (bIsBetaChannel)
- strparm += " /beta";
-
- --- a/notifications/NotificationHTTP.cpp
- +++ b/notifications/NotificationHTTP.cpp
- @@ -6,7 +6,7 @@
- #include "../main/SQLHelper.h"
- #include "../main/Logger.h"
-
- -extern std::string szUserDataFolder;
- +extern std::string szScriptsFolder;
-
- CNotificationHTTP::CNotificationHTTP() : CNotificationBase(std::string("http"), OPTIONS_NONE)
- {
- @@ -105,7 +105,7 @@ bool CNotificationHTTP::SendMessageImple
- std::string scriptparams = "";
- #if !defined WIN32
- if (scriptname.find("/") != 0)
- - scriptname = szUserDataFolder + "scripts/" + scriptname;
- + scriptname = szScriptsFolder + scriptname;
- #endif
- //Add parameters
- uPos = scriptname.find(" ");
- --- a/push/GooglePubSubPush.cpp
- +++ b/push/GooglePubSubPush.cpp
- @@ -22,7 +22,7 @@ extern "C" {
- using namespace boost::python;
- #endif
-
- -extern std::string szUserDataFolder;
- +extern std::string szScriptsFolder;
-
- // this should be filled in by the preprocessor
- extern const char * Python_exe;
- @@ -231,11 +231,11 @@ void CGooglePubSubPush::DoGooglePubSubPu
-
- #ifdef ENABLE_PYTHON_DECAP
- #ifdef WIN32
- - python_DirT << szUserDataFolder << "scripts\\python\\";
- - std::string filename = szUserDataFolder + "scripts\\python\\" + "googlepubsub.py";
- + python_DirT << szScriptsFolder << "python\\";
- + std::string filename = szScriptsFolder + "python\\" + "googlepubsub.py";
- #else
- - python_DirT << szUserDataFolder << "scripts/python/";
- - std::string filename = szUserDataFolder + "scripts/python/" + "googlepubsub.py";
- + python_DirT << szScriptsFolder << "python/";
- + std::string filename = szScriptsFolder + "python/" + "googlepubsub.py";
- #endif
-
- 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());
|