use filepath.Join wrapper for different embed and os path styles

If using internal, "/" is used as a separator always, and with external,
filepath.Join is used.
This commit is contained in:
Harvey Tindall
2021-02-12 14:59:35 +00:00
parent 873afb47cd
commit a6a7710a79
6 changed files with 24 additions and 9 deletions
+7
View File
@@ -35,6 +35,11 @@ type rewriteFS struct {
func (l rewriteFS) Open(name string) (fs.File, error) { return l.fs.Open(l.prefix + name) }
func (l rewriteFS) ReadDir(name string) ([]fs.DirEntry, error) { return l.fs.ReadDir(l.prefix + name) }
func (l rewriteFS) ReadFile(name string) ([]byte, error) { return l.fs.ReadFile(l.prefix + name) }
func FSJoin(elem ...string) string {
out := ""
for _, v := range elem { out += v + "/" }
return out[:len(out)-1]
}
func loadFilesystems() {
langFS = rewriteFS{laFS, "lang/"}
@@ -53,6 +58,8 @@ import (
var localFS fs.FS
var langFS fs.FS
func FSJoin(elem ...string) string { return filepath.Join(elem...) }
func loadFilesystems() {
log.Println("Using external storage")
executable, _ := os.Executable()