/** * Get the authors of 'thread' as a UTF-8 string. * * The returned string is a comma-separated list of the names of the * authors of mail messages in the query results that belong to this * thread. * * The string contains authors of messages matching the query first, then * non-matched authors (with the two groups separated by '|'). Within * each group, authors are ordered by date. * * The returned string belongs to 'thread' and as such, should not be * modified by the caller and will only be valid for as long as the * thread is valid, (which is until notmuch_thread_destroy or until * the query from which it derived is destroyed). */ func (self *Thread) GetAuthors() string { if self.thread == nil { return "" } str := C.notmuch_thread_get_authors(self.thread) if str == nil { return "" } return C.GoString(str) }
// Authors returns the list of authors, the first are the authors that matched // the query whilst the second return are the rest of the authors. All authors // are ordered by date. func (t *Thread) Authors() ([]string, []string) { var matched, unmatched []string as := C.GoString(C.notmuch_thread_get_authors(t.toC())) munm := strings.Split(as, "|") if len(munm) > 1 { matched = strings.Split(munm[0], ",") unmatched = strings.Split(munm[1], ",") } else { unmatched = strings.Split(munm[0], ",") } for i, s := range matched { matched[i] = strings.Trim(s, " ") } for i, s := range unmatched { unmatched[i] = strings.Trim(s, " ") } return matched, unmatched }