Rework it into a traditional cli program instead of service

"Rework"
This commit is contained in:
2025-01-10 13:19:19 +01:00
parent 0b2db22449
commit 2594d7f46e

27
main.go
View File

@@ -17,18 +17,10 @@ var Warning *log.Logger
func init() { func init() {
log.SetFlags(log.Ldate | log.Ltime) log.SetFlags(log.Ldate | log.Ltime)
logFile, err := os.Create("main.log") Error = log.New(io.MultiWriter(os.Stderr, os.Stdout),
if err != nil {
log.Printf("Error creating log file: %v", err)
os.Exit(1)
}
logger := io.MultiWriter(os.Stdout, logFile)
log.SetOutput(logger)
Error = log.New(io.MultiWriter(logFile, os.Stderr, os.Stdout),
fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"), fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"),
log.Ldate|log.Ltime) log.Ldate|log.Ltime)
Warning = log.New(io.MultiWriter(logFile, os.Stdout), Warning = log.New(io.MultiWriter(os.Stdout),
fmt.Sprintf("%sWarning:%s ", "\033[0;93m", "\033[0m"), fmt.Sprintf("%sWarning:%s ", "\033[0;93m", "\033[0m"),
log.Ldate|log.Ltime) log.Ldate|log.Ltime)
} }
@@ -46,7 +38,7 @@ var ROOT string
func main() { func main() {
log.SetFlags(log.Lmicroseconds) log.SetFlags(log.Lmicroseconds)
ROOT = filepath.ToSlash(strings.TrimSpace(getEnv("ROOT", "/tmp"))) ROOT = filepath.ToSlash(strings.TrimSpace(getEnv("ROOT", ".")))
ROOT = path.Clean(ROOT) ROOT = path.Clean(ROOT)
scanInterval, err := time.ParseDuration(getEnv("SCAN_INTERVAL", "1m")) scanInterval, err := time.ParseDuration(getEnv("SCAN_INTERVAL", "1m"))
if err != nil { if err != nil {
@@ -54,6 +46,11 @@ func main() {
return return
} }
ROOT, err = filepath.Abs(ROOT)
if err != nil {
Error.Printf("error getting absolute path for ROOT: %v", err)
return
}
log.Printf("Input args parsed as:") log.Printf("Input args parsed as:")
log.Printf("ROOT: %s", ROOT) log.Printf("ROOT: %s", ROOT)
log.Printf("SCAN_INTERVAL: %.0fs", scanInterval.Seconds()) log.Printf("SCAN_INTERVAL: %.0fs", scanInterval.Seconds())
@@ -73,9 +70,15 @@ func main() {
} }
func doRun() { func doRun() {
err := os.Remove(filepath.Join(ROOT, ".git/index.lock")) file, err := os.Open(filepath.Join(ROOT, ".git/index.lock"))
if err == nil {
log.Printf("Index lock found, removing")
file.Close()
err = os.Remove(filepath.Join(ROOT, ".git/index.lock"))
if err != nil { if err != nil {
Error.Printf("Error removing index.lock: %v", err) Error.Printf("Error removing index.lock: %v", err)
return
}
} }
status, err := doStatus() status, err := doStatus()