can add directorys to registry
This commit is contained in:
parent
35f3944548
commit
77db13c2b2
|
@ -27,7 +27,7 @@ var registryCmd = &cobra.Command{
|
|||
tw := new(tabwriter.Writer)
|
||||
tw.Init(os.Stdout, 0, 8, 0, '\t', 0)
|
||||
for v, k := range tr.Map {
|
||||
fmt.Fprintf(tw, "value: %s \t key: %b \n", v, k)
|
||||
fmt.Fprintf(tw, "value: \"%s\" \t key: %b \n", v, k)
|
||||
}
|
||||
tw.Flush()
|
||||
},
|
||||
|
|
|
@ -4,8 +4,10 @@ type TokenRegistry struct{
|
|||
Map map[string]int64
|
||||
}
|
||||
|
||||
func (tr TokenRegistry) DistributeTokens(list []string) {
|
||||
for _, v := range list {
|
||||
tr.Map[v] = int64(len(tr.Map))
|
||||
func (tr TokenRegistry) DistributeTokens(list [][]string) {
|
||||
for _, file := range list {
|
||||
for _, value := range file {
|
||||
tr.Map[value] = int64(len(tr.Map))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,11 +6,30 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
func SplitFile(path string) []string {
|
||||
fileContent := getFileContent(path)
|
||||
return strings.Fields(fileContent)
|
||||
func SplitFile(path string) [][]string {
|
||||
if path == "" {
|
||||
return make([][]string, 0)
|
||||
}
|
||||
info, err := os.Stat(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if info.IsDir() {
|
||||
paths := getFilePathsFromDir(path)
|
||||
matrix := make([][]string, len(paths))
|
||||
for _, filePath := range paths {
|
||||
matrix = addToMatrix(matrix, SplitFile(filePath))
|
||||
}
|
||||
return matrix
|
||||
} else {
|
||||
matrix := make([][]string, 1)
|
||||
matrix[0] = tokenize(getFileContent(path))
|
||||
return matrix
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func getFileContent(path string) string{
|
||||
data, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
|
@ -18,3 +37,29 @@ func getFileContent(path string) string{
|
|||
}
|
||||
return string(data)
|
||||
}
|
||||
|
||||
func getFilePathsFromDir(path string) []string{
|
||||
files, err := os.ReadDir(path)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("Directory could not be found %s", path))
|
||||
}
|
||||
var paths = make([]string, len(files))
|
||||
|
||||
for _, file := range files {
|
||||
pathToFile := fmt.Sprintf("%s/%s", path, file.Name())
|
||||
paths = append(paths, pathToFile)
|
||||
}
|
||||
|
||||
return paths
|
||||
}
|
||||
|
||||
func tokenize(s string) []string {
|
||||
return strings.Fields(s)
|
||||
}
|
||||
|
||||
func addToMatrix(addToMatrix [][]string, getsAddedToMatrix [][]string) [][]string {
|
||||
for _, slice := range getsAddedToMatrix {
|
||||
addToMatrix = append(addToMatrix, slice)
|
||||
}
|
||||
return addToMatrix
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue