54 lines
1,017 B
Go
54 lines
1,017 B
Go
|
package utils
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
|
||
|
"github.com/sirupsen/logrus"
|
||
|
"gitlab.dcso.lolcat/LABS/styx/models"
|
||
|
"gitlab.dcso.lolcat/LABS/styx/parser"
|
||
|
)
|
||
|
|
||
|
func SaveNode(node *models.Node) {
|
||
|
err := FileExists(parser.NodesFilename)
|
||
|
if err != nil {
|
||
|
logrus.Error(err)
|
||
|
}
|
||
|
nodeFile, err := ioutil.ReadFile(parser.NodesFilename)
|
||
|
if err != nil {
|
||
|
logrus.Error(err)
|
||
|
}
|
||
|
nodeDatas := []models.Node{}
|
||
|
|
||
|
if err := json.Unmarshal(nodeFile, &nodeDatas); err != nil {
|
||
|
logrus.Error(err)
|
||
|
}
|
||
|
|
||
|
nodeDatas = append(nodeDatas, *node)
|
||
|
|
||
|
nodeBytes, err := json.Marshal(nodeDatas)
|
||
|
if err != nil {
|
||
|
logrus.Error(err)
|
||
|
}
|
||
|
|
||
|
err = ioutil.WriteFile(parser.NodesFilename, nodeBytes, 0644)
|
||
|
if err != nil {
|
||
|
logrus.Error(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func SaveDomains(domains []string) {
|
||
|
f, err := os.OpenFile("domains.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
||
|
if err != nil {
|
||
|
logrus.Error(err)
|
||
|
}
|
||
|
defer f.Close()
|
||
|
|
||
|
for _, d := range domains {
|
||
|
if _, err := f.WriteString(d + ","); err != nil {
|
||
|
logrus.Error(err)
|
||
|
}
|
||
|
}
|
||
|
}
|