Files
nmslib/lang.go
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

126 lines
2.6 KiB
Go

package nmslib
import (
"encoding/csv"
"fmt"
"io/ioutil"
"os"
"strings"
)
/*
KorvaxWord - set up structure of a word iteration
*/
type KorvaxWord struct {
english string
korvax string
kwcaps string
kwallcaps string
}
func Korvax2Eng(kvwrd string) string {
data, err := Asset("tmp.nmslib/korvax-lang.csv")
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)
}
}
err = ioutil.WriteFile("tmp.nmslib/korvax-lang.csv", []byte(data), 0644)
csvFile, err := os.Open("tmp.nmslib/korvax-lang.csv")
if err != nil {
fmt.Println(err)
}
defer csvFile.Close()
CsvLines, err := csv.NewReader(csvFile).ReadAll()
if err != nil {
fmt.Println(err)
}
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
}
/*
Eng2Korvax - Convert (some) english words to Korvax
*/
func Eng2Korvax(enwrd string) string {
data, err := Asset("tmp.nmslib/korvax-lang.csv")
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)
}
}
err = ioutil.WriteFile("tmp.nmslib/korvax-lang.csv", []byte(data), 0644)
csvFile, err := os.Open("tmp.nmslib/korvax-lang.csv")
if err != nil {
fmt.Println(err)
}
defer csvFile.Close()
CsvLines, err := csv.NewReader(csvFile).ReadAll()
if err != nil {
fmt.Println(err)
}
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
}