Refactor exportPlainTextList

- remove unnecessary variable
- improve readablity
This commit is contained in:
MkQtS
2026-01-02 16:46:25 +08:00
parent 9098d9da53
commit a41228caa6

22
main.go
View File

@@ -52,7 +52,7 @@ type ParsedList struct {
Entry []Entry Entry []Entry
} }
func (l *ParsedList) toPlainText(listName string) error { func (l *ParsedList) toPlainText() error {
var entryBytes []byte var entryBytes []byte
for _, entry := range l.Entry { for _, entry := range l.Entry {
var attrString string var attrString string
@@ -62,7 +62,7 @@ func (l *ParsedList) toPlainText(listName string) error {
// Entry output format is: type:domain.tld:@attr1,@attr2 // Entry output format is: type:domain.tld:@attr1,@attr2
entryBytes = append(entryBytes, []byte(entry.Type+":"+entry.Value+attrString+"\n")...) entryBytes = append(entryBytes, []byte(entry.Type+":"+entry.Value+attrString+"\n")...)
} }
if err := os.WriteFile(filepath.Join(*outputDir, listName+".txt"), entryBytes, 0644); err != nil { if err := os.WriteFile(filepath.Join(*outputDir, strings.ToLower(l.Name)+".txt"), entryBytes, 0644); err != nil {
return err return err
} }
return nil return nil
@@ -97,14 +97,14 @@ func (l *ParsedList) toProto() (*router.GeoSite, error) {
return site, nil return site, nil
} }
func exportPlainTextList(list []string, refName string, pl *ParsedList) { func exportPlainTextList(exportFiles []string, entryList *ParsedList) {
for _, listName := range list { for _, exportfilename := range exportFiles {
if strings.EqualFold(refName, listName) { if strings.EqualFold(entryList.Name, exportfilename) {
if err := pl.toPlainText(strings.ToLower(refName)); err != nil { if err := entryList.toPlainText(); err != nil {
fmt.Println("Failed:", err) fmt.Println("Failed to exportPlainTextList:", err)
continue continue
} }
fmt.Printf("'%s' has been generated successfully.\n", listName) fmt.Printf("'%s' has been generated successfully.\n", exportfilename)
} }
} }
} }
@@ -320,7 +320,7 @@ func main() {
protoList := new(router.GeoSiteList) protoList := new(router.GeoSiteList)
var existList []string var existList []string
for refName, list := range ref { for _, list := range ref {
pl, err := ParseList(list, ref) pl, err := ParseList(list, ref)
if err != nil { if err != nil {
fmt.Println("Failed:", err) fmt.Println("Failed:", err)
@@ -336,7 +336,7 @@ func main() {
// Flatten and export plaintext list // Flatten and export plaintext list
if *exportLists != "" { if *exportLists != "" {
if existList != nil { if existList != nil {
exportPlainTextList(existList, refName, pl) exportPlainTextList(existList, pl)
} else { } else {
exportedListSlice := strings.Split(*exportLists, ",") exportedListSlice := strings.Split(*exportLists, ",")
for _, exportedListName := range exportedListSlice { for _, exportedListName := range exportedListSlice {
@@ -349,7 +349,7 @@ func main() {
} }
} }
if existList != nil { if existList != nil {
exportPlainTextList(existList, refName, pl) exportPlainTextList(existList, pl)
} }
} }
} }