36 lines
908 B
Go
36 lines
908 B
Go
|
package importer
|
||
|
|
||
|
func (i *Importer) importFromOPML(file string) {
|
||
|
/*
|
||
|
i.log.Info().Msgf("importing from OPML file: %s", file)
|
||
|
data, err := ioutil.ReadFile(file)
|
||
|
if err != nil {
|
||
|
i.log.Error().Err(err).Msg("failed to read OPML file")
|
||
|
return
|
||
|
}
|
||
|
|
||
|
fp := gofeed.NewParser()
|
||
|
feed, err := fp.ParseString(string(data))
|
||
|
if err != nil {
|
||
|
i.log.Error().Err(err).Msg("failed to parse OPML")
|
||
|
return
|
||
|
}
|
||
|
|
||
|
totalOutlines := len(feed.Items)
|
||
|
bar := progressbar.NewOptions(totalOutlines,
|
||
|
progressbar.OptionSetDescription("Importing outlines"),
|
||
|
progressbar.OptionShowCount(),
|
||
|
progressbar.OptionShowIts(),
|
||
|
progressbar.OptionSetPredictTime(true),
|
||
|
)
|
||
|
|
||
|
for _, outline := range feed.Items {
|
||
|
// Insert outline into the database
|
||
|
// db.InsertOutline(outline) // Replace with actual database insertion logic
|
||
|
bar.Add(1)
|
||
|
}
|
||
|
|
||
|
*/
|
||
|
i.log.Info().Msg("OPML import completed")
|
||
|
}
|