diff --git a/main.go b/main.go index c196843..dbab51e 100644 --- a/main.go +++ b/main.go @@ -28,6 +28,8 @@ type StreamResponse struct { Response string `json:"response"` } +const env = "/home/translator/env/bin/getPythonCommand()" + func createStreamResponse(fromLanguage, toLanguage, message string) string { response := StreamResponse{ From: fromLanguage, @@ -70,8 +72,8 @@ func downloadPackages(w http.ResponseWriter, fromLanguage, toLanguage string) { // Use a goroutine for streaming responses so we can proceed with the download go streamResponse(w, fromLanguage, toLanguage, messages) - // Start the python3 command in the background - cmd := exec.Command("python3", "translator/download.py", fromLanguage, toLanguage) + // Start the getPythonCommand() command in the background + cmd := exec.Command(env, "translator/download.py", fromLanguage, toLanguage) output, err := cmd.StdoutPipe() if err != nil { messages <- fmt.Sprintf("Error starting Download: %s", err.Error()) @@ -95,7 +97,7 @@ func downloadPackages(w http.ResponseWriter, fromLanguage, toLanguage string) { } }() - // Read the output of the python3 command and send it to the channel + // Read the output of the getPythonCommand() command and send it to the channel scanner := bufio.NewScanner(output) firstOutputReceived := false for scanner.Scan() { @@ -124,8 +126,8 @@ func executeTranslator(w http.ResponseWriter, message, fromLanguage, toLanguage // A goroutine will manage sending streamed responses go streamResponse(w, fromLanguage, toLanguage, messages) - // Start the python3 command in the background - cmd := exec.Command("python3", "translator/translate.py", message, fromLanguage, toLanguage) + // Start the getPythonCommand() command in the background + cmd := exec.Command(env, "translator/translate.py", message, fromLanguage, toLanguage) output, err := cmd.StdoutPipe() if err != nil { messages <- fmt.Sprintf("Error starting Translation: %s", err.Error()) @@ -138,7 +140,7 @@ func executeTranslator(w http.ResponseWriter, message, fromLanguage, toLanguage return } - // Read the output of the python3 command and send it through the channel + // Read the output of the getPythonCommand() command and send it through the channel scanner := bufio.NewScanner(output) for scanner.Scan() { messages <- scanner.Text() // Sends each line of the output to the stream @@ -183,7 +185,7 @@ func CheckLanguagesInstalled(fromCode, toCode string) (bool, error) { return false, nil } func getAllPackages() error { - cmd := exec.Command("python3", "translator/note_all_packages.py") + cmd := exec.Command(env, "translator/note_all_packages.py") // Create a buffer to capture the standard output. var out bytes.Buffer cmd.Stdout = &out