4 Commits

Author SHA1 Message Date
bradley.richins
f291891139 Temp directory renamed to nms-{SEED} 2020-10-20 15:14:42 -06:00
bradley.richins
230cefb85d Temp files are now stored in system temp dir 2020-10-20 14:47:04 -06:00
bradley.richins
84df8142c6 Updated 2020-10-20 14:45:49 -06:00
bradley.richins
38e45c4f60 Minnor change
Renamed strut Korvaxlang to KorvaxWord and
English > english
KorvaxWord > korvax
KWCaps > kwcaps
KWALLCAPS > kwallcaps
2020-10-20 12:43:19 -06:00
3 changed files with 235 additions and 263 deletions

View File

@@ -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("", "nmslib-")
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)
}
}

120
lang.go
View File

@@ -8,72 +8,52 @@ import (
"strings"
)
/*
Korvaxlang - set up structure of a word iteration
*/
type Korvaxlang struct {
English string
KorvaxWord string
KWCaps string
KWALLCAPS string
// KorvaxWord - set up structure of a word iteration
type korvaxWord struct {
english string
korvax string
kwcaps string
kwallcaps string
}
/*
Korvax2Eng - convert known korvax words into english
Korvax2Eng - Translate a Korvax word to English
*/
func Korvax2Eng(kvwrd string) string {
data, err := Asset("tmp.nmslib/korvax-lang.csv")
tempdir, err := ioutil.TempDir("", "nmslib-")
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 := Korvaxlang{
English: line[0],
KorvaxWord: line[1],
KWCaps: line[2],
KWALLCAPS: line[3],
for _, line := range csvlines {
klang := korvaxWord{
english: line[0],
korvax: line[1],
kwcaps: line[2],
kwallcaps: line[3],
}
if kvwrd == klang.KorvaxWord {
errDir := os.RemoveAll("tmp.nmslib")
if errDir != nil {
panic(errDir)
if kvwrd == klang.korvax {
return klang.english
} else if kvwrd == klang.korvax {
return strings.Title(strings.ToLower(klang.english))
} else if kvwrd == klang.kwallcaps {
return strings.ToUpper(klang.english)
}
return klang.English
} else if kvwrd == klang.KWCaps {
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
}
@@ -82,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("", "nmslib")
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 := Korvaxlang{
English: line[0],
KorvaxWord: line[1],
KWCaps: line[2],
KWALLCAPS: line[3],
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)
if enwrd == klang.english {
return klang.korvax
}
return klang.KorvaxWord
}
}
// remove recource folder to keep it clean
errDir := os.RemoveAll("tmp.nmslib")
if errDir != nil {
panic(errDir)
}
return "*\\Kzzzzzzt\\*" // word not found default
}

File diff suppressed because one or more lines are too long