wanna-goon/goon.go
2024-09-21 07:22:23 -07:00

66 lines
1.6 KiB
Go

package main
import (
"fmt"
"os"
"os/exec"
"path/filepath"
"strings"
"github.com/Merith-TK/utils/debug"
)
func goonFiles(src string) error {
debug.SetTitle("goonFiles")
defer debug.ResetTitle()
var goonError error
var goonDest string
src, goonError = filepath.Abs(src)
if goonError != nil {
return goonError
}
goonDest = filepath.ToSlash(src)
_, err := os.Stat(src)
if os.IsNotExist(err) {
return fmt.Errorf("source path does not exist: %s", src)
}
if err != nil {
return fmt.Errorf("could not stat source path: %v", err)
}
goonDest = strings.TrimPrefix(goonDest, "C:/")
userProfile := os.Getenv("USERPROFILE")
if userProfile == "" {
return fmt.Errorf("could not get USERPROFILE environment variable")
}
goonDestPath := filepath.Join("C:/", ".wanna-goon", goonDest)
debug.Print("gooning:", src)
debug.Print("to:", goonDestPath)
goonError = os.MkdirAll(filepath.Dir(goonDestPath), os.ModePerm)
if goonError != nil {
return fmt.Errorf("could not create directory %s: %v", goonDestPath, goonError)
}
goonError = os.Rename(src, goonDestPath)
if goonError != nil {
return fmt.Errorf("could not move file from %s to %s: %v", src, goonDestPath, goonError)
}
return goonError
}
func goonProgram(exeName string) error {
var err error
debug.SetTitle("cooming")
defer debug.ResetTitle()
cmdKill := exec.Command("cmd", "/C", "taskkill /IM", exeName, "/F")
err = cmdKill.Run()
if err != nil {
fmt.Println("Error killing Discord process:", err)
return err
}
return nil
}