Use map instead of list as set

This commit is contained in:
Michal Horejsek
2020-10-12 10:13:58 +02:00
parent ef85c8df24
commit e0292fe957
6 changed files with 41 additions and 39 deletions

View File

@ -49,24 +49,24 @@ func (p *MBOXProvider) Mailboxes(includeEmpty, includeAllMail bool) ([]Mailbox,
return nil, err
}
mailboxNames := []string{}
mailboxNames := map[string]bool{}
for _, filePath := range filePaths {
fileName := filepath.Base(filePath)
mailboxName := strings.TrimSuffix(fileName, ".mbox")
mailboxNames = appendIfNew(mailboxNames, mailboxName)
mailboxNames[mailboxName] = true
labels, err := getGmailLabelsFromMboxFile(filepath.Join(p.root, filePath))
if err != nil {
log.WithError(err).Error("Failed to get gmail labels from mbox file")
continue
}
for _, label := range labels {
mailboxNames = appendIfNew(mailboxNames, label)
for label := range labels {
mailboxNames[label] = true
}
}
mailboxes := []Mailbox{}
for _, mailboxName := range mailboxNames {
for mailboxName := range mailboxNames {
mailboxes = append(mailboxes, Mailbox{
ID: "",
Name: mailboxName,