added env support
This commit is contained in:
parent
6e4504297d
commit
2f8c114f9f
16
main.go
16
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
|
||||
|
|
Loading…
Reference in New Issue