From 230cefb85dc0590c5f34d7331661baead52acd08 Mon Sep 17 00:00:00 2001 From: "bradley.richins" Date: Tue, 20 Oct 2020 14:47:04 -0600 Subject: [PATCH] Temp files are now stored in system temp dir --- glyphbanner.go | 34 ++++++++++++--------- lang.go | 82 +++++++++++++++++--------------------------------- 2 files changed, 46 insertions(+), 70 deletions(-) diff --git a/glyphbanner.go b/glyphbanner.go index ab80c12..4830763 100644 --- a/glyphbanner.go +++ b/glyphbanner.go @@ -24,6 +24,14 @@ func CreateBanner(portalhex string, savename string, vopt int) { var err error var GlyphHex [12]int64 var glyphImg [12]string + + // Setup temp dir + tempdir, err := ioutil.TempDir("", ".gotemp") + if err != nil { + panic(err) + } + defer os.RemoveAll(tempdir) + // verify len of portalhex if len(portalhex) == 12 { // get hex value from each digit in given string to an array of int64 @@ -35,7 +43,7 @@ func CreateBanner(portalhex string, savename string, vopt int) { } // assign image location of its glyph hex value to an array of strings for j := 0; j < len(glyphImg); j++ { - glyphImg[j] = fmt.Sprintf("tmp.nmslib/glyphs/GLYPH-%X.png", GlyphHex[j]) + glyphImg[j] = fmt.Sprintf("glyphs/GLYPH-%X.png", GlyphHex[j]) } // pull images need from glyph.go and saved them to ./glyphs/ for k := 0; k < len(glyphImg); k++ { @@ -43,24 +51,25 @@ func CreateBanner(portalhex string, savename string, vopt int) { if err != nil { panic(err) } - _, err2 := os.Stat("tmp.nmslib/glyphs") + _, err2 := os.Stat(tempdir + "/glyphs/") if os.IsNotExist(err2) { - errDir := os.MkdirAll("tmp.nmslib/glyphs", 0755) + errDir := os.MkdirAll(tempdir+"/glyphs", 0755) if errDir != nil { panic(errDir) } } - err = ioutil.WriteFile(glyphImg[k], []byte(data), 0644) + + err = ioutil.WriteFile(tempdir+"/"+glyphImg[k], []byte(data), 0644) } } // load images for processing using github.com/ozankasikci/go-image-merge grids := []*gim.Grid{ - {ImageFilePath: glyphImg[0]}, {ImageFilePath: glyphImg[1]}, - {ImageFilePath: glyphImg[2]}, {ImageFilePath: glyphImg[3]}, - {ImageFilePath: glyphImg[4]}, {ImageFilePath: glyphImg[5]}, - {ImageFilePath: glyphImg[6]}, {ImageFilePath: glyphImg[7]}, - {ImageFilePath: glyphImg[8]}, {ImageFilePath: glyphImg[9]}, - {ImageFilePath: glyphImg[10]}, {ImageFilePath: glyphImg[11]}, + {ImageFilePath: tempdir + "/" + glyphImg[0]}, {ImageFilePath: tempdir + "/" + glyphImg[1]}, + {ImageFilePath: tempdir + "/" + glyphImg[2]}, {ImageFilePath: tempdir + "/" + glyphImg[3]}, + {ImageFilePath: tempdir + "/" + glyphImg[4]}, {ImageFilePath: tempdir + "/" + glyphImg[5]}, + {ImageFilePath: tempdir + "/" + glyphImg[6]}, {ImageFilePath: tempdir + "/" + glyphImg[7]}, + {ImageFilePath: tempdir + "/" + glyphImg[8]}, {ImageFilePath: tempdir + "/" + glyphImg[9]}, + {ImageFilePath: tempdir + "/" + glyphImg[10]}, {ImageFilePath: tempdir + "/" + glyphImg[11]}, } if vopt == 1 { // Merge images horizontally @@ -83,9 +92,4 @@ func CreateBanner(portalhex string, savename string, vopt int) { file, err := os.Create(savename) err = png.Encode(file, rgba) } - // remove glyphs folder to keep it clean - errDir := os.RemoveAll("tmp.nmslib/glyphs") - if errDir != nil { - panic(errDir) - } } diff --git a/lang.go b/lang.go index 91da512..bc098cf 100644 --- a/lang.go +++ b/lang.go @@ -8,71 +8,53 @@ import ( "strings" ) -/* -KorvaxWord - set up structure of a word iteration -*/ - -type KorvaxWord struct { +// KorvaxWord - set up structure of a word iteration +type korvaxWord struct { english string korvax string kwcaps string kwallcaps string } +/* +Korvax2Eng - Translate a Korvax word to English +*/ func Korvax2Eng(kvwrd string) string { - data, err := Asset("tmp.nmslib/korvax-lang.csv") + tempdir, err := ioutil.TempDir("", ".gotemp") if err != nil { panic(err) } - _, err2 := os.Stat("tmp.nmslib/") - if os.IsNotExist(err2) { - errDir := os.MkdirAll("tmp.nmslib/", 0755) - if errDir != nil { - panic(errDir) - } + defer os.RemoveAll(tempdir) + + data, err := Asset("korvax-lang.csv") + if err != nil { + panic(err) } - err = ioutil.WriteFile("tmp.nmslib/korvax-lang.csv", []byte(data), 0644) - csvFile, err := os.Open("tmp.nmslib/korvax-lang.csv") + err = ioutil.WriteFile(tempdir+"/korvax-lang.csv", []byte(data), 0644) + csvFile, err := os.Open(tempdir + "/korvax-lang.csv") if err != nil { fmt.Println(err) } defer csvFile.Close() - CsvLines, err := csv.NewReader(csvFile).ReadAll() + csvlines, err := csv.NewReader(csvFile).ReadAll() if err != nil { fmt.Println(err) } - for _, line := range CsvLines { - klang := KorvaxWord{ + for _, line := range csvlines { + klang := korvaxWord{ english: line[0], korvax: line[1], kwcaps: line[2], kwallcaps: line[3], } if kvwrd == klang.korvax { - errDir := os.RemoveAll("tmp.nmslib") - if errDir != nil { - panic(errDir) - } return klang.english } else if kvwrd == klang.korvax { - errDir := os.RemoveAll("tmp.nmslib") - if errDir != nil { - panic(errDir) - } return strings.Title(strings.ToLower(klang.english)) } else if kvwrd == klang.kwallcaps { - errDir := os.RemoveAll("tmp.nmslib") - if errDir != nil { - panic(errDir) - } return strings.ToUpper(klang.english) } } - // remove recource folder to keep it clean - errDir := os.RemoveAll("tmp.nmslib") - if errDir != nil { - panic(errDir) - } return "*\\Kzzzzzzt\\*" // word not found default } @@ -80,46 +62,36 @@ func Korvax2Eng(kvwrd string) string { Eng2Korvax - Convert (some) english words to Korvax */ func Eng2Korvax(enwrd string) string { - data, err := Asset("tmp.nmslib/korvax-lang.csv") + tempdir, err := ioutil.TempDir("", ".gotemp") if err != nil { panic(err) } - _, err2 := os.Stat("tmp.nmslib/") - if os.IsNotExist(err2) { - errDir := os.MkdirAll("tmp.nmslib/", 0755) - if errDir != nil { - panic(errDir) - } + defer os.RemoveAll(tempdir) + + data, err := Asset("korvax-lang.csv") + if err != nil { + panic(err) } - err = ioutil.WriteFile("tmp.nmslib/korvax-lang.csv", []byte(data), 0644) - csvFile, err := os.Open("tmp.nmslib/korvax-lang.csv") + err = ioutil.WriteFile(tempdir+"/korvax-lang.csv", []byte(data), 0644) + csvFile, err := os.Open(tempdir + "/korvax-lang.csv") if err != nil { fmt.Println(err) } defer csvFile.Close() - CsvLines, err := csv.NewReader(csvFile).ReadAll() + csvlines, err := csv.NewReader(csvFile).ReadAll() if err != nil { fmt.Println(err) } - for _, line := range CsvLines { - klang := KorvaxWord{ + for _, line := range csvlines { + klang := korvaxWord{ english: line[0], korvax: line[1], kwcaps: line[2], kwallcaps: line[3], } if enwrd == klang.english { - errDir := os.RemoveAll("tmp.nmslib") - if errDir != nil { - panic(errDir) - } return klang.korvax } } - // remove recource folder to keep it clean - errDir := os.RemoveAll("tmp.nmslib") - if errDir != nil { - panic(errDir) - } return "*\\Kzzzzzzt\\*" // word not found default }