Sync all IMAP folders
This commit is contained in:
parent
bb2bcb0576
commit
569b274b2c
4 changed files with 228 additions and 32 deletions
|
|
@ -107,6 +107,28 @@ type TargetFolder struct {
|
|||
// Antwort). override kommt aus folder_map.
|
||||
func MapSourceToTarget(srcName string, srcAttrs []string, srcDelim, dstDelim string,
|
||||
targets []TargetFolder, override string) string {
|
||||
// TODO Codex.
|
||||
return ""
|
||||
if strings.TrimSpace(override) != "" {
|
||||
return override
|
||||
}
|
||||
srcRole := Role(srcAttrs, srcName, srcDelim)
|
||||
if srcRole == RoleInbox {
|
||||
return "INBOX"
|
||||
}
|
||||
if srcRole != RoleNone {
|
||||
for _, target := range targets {
|
||||
if Role(target.Attrs, target.Name, dstDelim) == srcRole {
|
||||
return target.Name
|
||||
}
|
||||
}
|
||||
}
|
||||
if srcDelim == "" {
|
||||
srcDelim = "/"
|
||||
}
|
||||
if dstDelim == "" {
|
||||
dstDelim = "/"
|
||||
}
|
||||
if srcDelim != dstDelim {
|
||||
return strings.ReplaceAll(srcName, srcDelim, dstDelim)
|
||||
}
|
||||
return srcName
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue