Refactor exportPlainTextList

- remove unnecessary variable
- improve readablity
This commit is contained in:
MkQtS
2025-12-31 17:25:18 +08:00
parent bbd5b64219
commit 969e6baad8

24
main.go
View File

@@ -52,9 +52,9 @@ type ParsedList struct {
Entry []Entry
}
func (l *ParsedList) toPlainText(listName string) error {
func (entryList *ParsedList) toPlainText() error {
var entryBytes []byte
for _, entry := range l.Entry {
for _, entry := range entryList.Entry {
var attrString string
if entry.Attrs != nil {
for _, attr := range entry.Attrs {
@@ -65,7 +65,7 @@ func (l *ParsedList) toPlainText(listName string) error {
// Entry output format is: type:domain.tld:@attr1,@attr2
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(entryList.Name)+".txt"), entryBytes, 0644); err != nil {
return err
}
return nil
@@ -109,14 +109,14 @@ func (l *ParsedList) toProto() (*router.GeoSite, error) {
return site, nil
}
func exportPlainTextList(list []string, refName string, pl *ParsedList) {
for _, listName := range list {
if strings.EqualFold(refName, listName) {
if err := pl.toPlainText(strings.ToLower(refName)); err != nil {
fmt.Println("Failed:", err)
func exportPlainTextList(exportFiles []string, entryList *ParsedList) {
for _, exportfilename := range exportFiles {
if strings.EqualFold(entryList.Name, exportfilename) {
if err := entryList.toPlainText(); err != nil {
fmt.Println("Failed to exportPlainTextList:", err)
continue
}
fmt.Printf("'%s' has been generated successfully.\n", listName)
fmt.Printf("'%s' has been generated successfully.\n", exportfilename)
}
}
}
@@ -336,7 +336,7 @@ func main() {
protoList := new(router.GeoSiteList)
var existList []string
for refName, list := range ref {
for _, list := range ref {
pl, err := ParseList(list, ref)
if err != nil {
fmt.Println("Failed:", err)
@@ -352,7 +352,7 @@ func main() {
// Flatten and export plaintext list
if *exportLists != "" {
if existList != nil {
exportPlainTextList(existList, refName, pl)
exportPlainTextList(existList, pl)
} else {
exportedListSlice := strings.Split(*exportLists, ",")
for _, exportedListName := range exportedListSlice {
@@ -365,7 +365,7 @@ func main() {
}
}
if existList != nil {
exportPlainTextList(existList, refName, pl)
exportPlainTextList(existList, pl)
}
}
}