Files
nlnieuws/internal/util/util.go
Peter Kleiweg 5c651387af grote reorganisatie:
- HLN, NOS, NU, VRT: per week -> per dag
- yyyy-ww -> yyyy.ww
- yyyy*  -> yyyy/yyyy*
etc
2026-05-27 22:42:03 +02:00

45 lines
699 B
Go

package util
import (
e "codeberg.org/pebbe/errors"
"fmt"
"os"
"path/filepath"
"regexp"
"strings"
)
var (
p = e.PanicErr
reEOL = regexp.MustCompile(`[.!?]['"”’]?$`)
)
func AddEnd(s string) string {
s = strings.TrimSpace(s)
if s == "" {
return ""
}
if reEOL.MatchString(s) {
return s + "\n"
}
return s + ".\n"
}
func FixSpace(s string) string {
return strings.Join(strings.Fields(s), " ")
}
func MkLock(filename string) {
pid := os.Getpid()
link := fmt.Sprintf("%s.%d", filepath.Base(filename), pid)
p(os.Symlink(link, filename))
name, err := os.Readlink(filename)
p(err)
if name != link {
p(fmt.Errorf("wrong lock name %q, should be %q", name, link))
}
}