2024-05-25 12:11:36 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"log"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
)
|
|
|
|
|
2024-05-25 18:27:53 +02:00
|
|
|
var DIR string = ""
|
|
|
|
|
2024-05-25 12:11:36 +02:00
|
|
|
func getFilepath(filename string) string {
|
2024-05-26 02:04:59 +02:00
|
|
|
// Set the DIR if not already set
|
2024-05-25 18:27:53 +02:00
|
|
|
if DIR == "" {
|
|
|
|
if len(os.Args) != 3 {
|
|
|
|
log.Fatal("Not enough args")
|
|
|
|
}
|
|
|
|
dir, err := filepath.Abs(os.Args[2])
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
DIR = dir
|
2024-05-25 12:11:36 +02:00
|
|
|
}
|
2024-05-25 18:27:53 +02:00
|
|
|
return filepath.Join(DIR, filename)
|
2024-05-25 12:11:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
func readFile(filename string) ([]byte, bool) {
|
|
|
|
path := getFilepath(filename)
|
|
|
|
file, err := os.ReadFile(path)
|
|
|
|
if os.IsNotExist(err) {
|
|
|
|
return nil, true
|
|
|
|
}
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
return file, false
|
|
|
|
}
|
|
|
|
|
|
|
|
func writeFile(filename string, data []byte) {
|
|
|
|
path := getFilepath(filename)
|
|
|
|
err := os.WriteFile(path, data, 0755)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
}
|