Find script for gsm
[gregoa/zavai.git] / src / core.vala
index ef1363f47982b94eab4b8ee22bcb39081d32139d..ade1231781311bb371d944e4c7dc75507e5df591 100644 (file)
@@ -219,18 +219,18 @@ public abstract class ScriptMonitorService : Service
 
     protected bool script_start()
     {
-        string command = zavai.config.homedir + "/" + name + " pre";
+        string script = zavai.config.find_script(name);
+        zavai.log.info("Run program: " + script + " pre");
         try {
             // Then run our own script
-            zavai.config.run_script(command);
+            zavai.config.run_script(script + " pre");
         } catch (Error e) {
-            zavai.log.error("Running " + command + ": " + e.message);
+            zavai.log.error("Running " + script + " pre: " + e.message);
             return false;
         }
 
-        command = zavai.config.homedir + "/" + name + " run";
-        zavai.log.info("Run program: " + command);
-        string[] args = command.split(" ");
+        zavai.log.info("Run program: " + script + " run");
+        string[] args = { script, "run" };
         try {
             Process.spawn_async(
                 Environment.get_home_dir(),
@@ -240,7 +240,7 @@ public abstract class ScriptMonitorService : Service
                 null,
                 out child_pid);
         } catch (SpawnError e) {
-            zavai.log.error("Running " + command + ": " + e.message);
+            zavai.log.error("Running " + script + " run: " + e.message);
             return false;
         }
 
@@ -262,12 +262,11 @@ public abstract class ScriptMonitorService : Service
 stderr.printf("STATUS %d\n", status);
         Process.close_pid(pid);
 
-        string command = zavai.config.homedir + "/" + name + " post";
         try {
             // Then run our own script
-            zavai.config.run_script(command);
+            zavai.config.find_and_run_script(name, "post");
         } catch (Error e) {
-            zavai.log.error("Running " + command + ": " + e.message);
+            zavai.log.error("Running " + name + " post: " + e.message);
             return;
         }