From mboxrd@z Thu Jan 1 00:00:00 1970 From: steve.shreeve@gmail.com (Steve Shreeve) Date: Sat, 6 Oct 2007 01:34:55 -0700 Subject: [sup-talk] Question regarding Maildir (and possible patch?) Message-ID: <001601c807f3$c6bafe10$650aa8c0@ocean> Sup looks great! Tonight, I tried to configure it for a pretty large Maildir setup (about 250,000 messages and nearly 1,500 mailboxes for one user). When I went to import (ie - index) these messages, it failed. As I looked into it, I realized that sup was only looking at the top-level Maildir cur and new folders for messages. In my dovecot setup, each mailbox has it's own subdirectory, containing its own Maildir cur and new directories. Since it seems sup is only looking at the top-level Maildir cur and new directories, none of my mailboxes are indexed. Since I prefer not to manually add all 1,500 mailboxes as "sources" for sup, I modified maildir.rb as follows to allow sup to dive into mailboxes. I've not fully tested this (it's still indexing messages!), but I wanted to check to see if this approach is okay or ill advised. Cheers, Steve ==[ maildir.rb ]== + require 'find' def scan_mailbox return if @last_scan && (Time.now - @last_scan) < SCAN_INTERVAL - cdir = File.join(@dir, 'cur') - ndir = File.join(@dir, 'new') - raise FatalSourceError, "#{cdir} not a directory" unless File.directory? cdir - raise FatalSourceError, "#{ndir} not a directory" unless File.directory? ndir + raise FatalSourceError, "#{@dir} not a directory" unless File.directory? @dir begin @ids, @ids_to_fns = @mutex.synchronize do ids, ids_to_fns = [], {} - (Dir[File.join(cdir, "*")] + Dir[File.join(ndir, "*")]).map do |fn| + Find.find(@dir) do |fn| + next unless File.file?(fn) + next unless File.basename(File.dirname(fn)) =~ /^cur|new$/ id = make_id fn ids << id ids_to_fns[id] = fn end [ids.sort, ids_to_fns] end rescue SystemCallError, IOError => e raise FatalSourceError, "Problem scanning Maildir directories: #{e.message}." end @last_scan = Time.now end -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/sup-talk/attachments/20071006/eef0d815/attachment-0001.html