// FIXME: This need some more info private Indexable NntpMessageToIndexable (TB.NntpMessage message) { Indexable indexable; indexable = new Indexable (message.Uri); indexable.HitType = "MailMessage"; indexable.MimeType = "message/rfc822"; indexable.Timestamp = DateTime.Parse (message.GetString ("date")).ToUniversalTime (); indexable.AddProperty (Property.NewKeyword ("fixme:client", "thunderbird")); indexable.AddProperty (Property.NewUnsearched ("fixme:fullyIndexed", message.GetBool ("FullIndex"))); indexable.AddProperty (Property.NewDate ("fixme:indexDateTime", DateTime.UtcNow)); string subject = GMime.Utils.HeaderDecodePhrase (message.GetString ("subject")); indexable.AddProperty (Property.New ("dc:title", subject)); return indexable; }
private Indexable MailToIndexable (TB.Mail mail) { Indexable indexable; GMime.Message message = mail.Message; FullIndex = mail.GetBool ("FullIndex"); // Make sure this is up to date string mailbox = (MailboxName != null ? MailboxName : (string) mail.GetString ("mailbox")); indexable = NewIndexable (mail.Uri, message.Date.ToUniversalTime (), "MailMessage"); indexable.MimeType = "message/rfc822"; indexable.CacheContent = true; indexable.AddProperty (Property.NewKeyword ("fixme:folder", mailbox)); indexable.SetBinaryStream (message.Stream); if (mail.GetBool ("FullIndex")) indexable.ContentUri = UriFu.PathToFileUri (Thunderbird.GetFullyIndexableFile (DbFile)); message.Dispose (); return indexable; }