I've been using a dovecot IMAP server on localhost as my local mail store (to have it in standard Maildir format and accessible by any client). I also want to make it searchable in Spotlight.

Ideally this could be done by appending '.eml' to every mail file so that they get picked up by Apple's mail importer; unfortunately this is ruled out by dovecot's existing scheme to name emails. The workaround I found is the Mew importer (http://www.mew.org/en/feature/spotlight.html) which can work based on Mac file type. For this I periodically set all messages' HFS file type with this script:


  import os, fnmatch

  for root, dirs, files in os.walk('/Volumes/Home/FZ/Mail'):
      for filename in files:
          if not fnmatch.fnmatch(filename, 'dovecot*'):
              filepath = os.path.join(root, filename)
              os.system('/usr/bin/SetFile -t MewX \"' + filepath + '\"')


This works, but is very slow with 20,000+ system calls per run. Hence my questions:

1) Is there a more efficient way to set file type? I tried using library functions in Carbon.File.FSSpec instead, but found that they no longer work (http://bugs.python.org/issue7807).

2) Or is something else (the 'uti'?) I could set so that the mails actually get indexed by Apple's mail importer? Following is some possibly relevant output of `locate lsregister` -dump.

Thanks,
Francois Z.

--------------------------------------------------------
type    id:            20368
        uti:           com.apple.mail.email
        description:   Email Message
        flags:         exported  active  apple-internal  trusted
        icon:          Contents/Resources/document.icns
        conforms to:   public.data, public.email-message
        tags:          .eml, message/rfc822
--------------------------------------------------------
--------------------------------------------------------
type    id:            21916
        uti:           org.mew.mew
        description:   Mew message text
        flags:         exported  active  trusted
        icon:
        delegate:      Spotlight/MewImporter.mdimporter/
        conforms to:   public.message, public.data, public.content
        tags:          .mew, 'MewX'
--------------------------------------------------------
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG

Reply via email to