commit f0778b306c19e3f5db9bd772eaf755033a9cedd6
parent a99faa9c7c533f852a781e06912d1b79200db33a
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Wed, 20 Dec 2006 19:07:23 +0000
fixed search for spam problem
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@86 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/lib/sup/index.rb b/lib/sup/index.rb
@@ -307,19 +307,17 @@ protected
## TODO: convert this to query objects rather than strings
def build_query opts
+ labels = ([opts[:label]] + (opts[:labels] || [])).compact
query = ""
- query += opts[:labels].map { |t| "+label:#{t}" }.join(" ") if opts[:labels]
- query += " +label:#{opts[:label]}" if opts[:label]
+ query += labels.map { |t| "+label:#{t}" }.join(" ")
query += " #{opts[:content]}" if opts[:content]
if opts[:participants]
query += "+(" +
opts[:participants].map { |p| "from:#{p.email} OR to:#{p.email}" }.join(" OR ") + ")"
end
- query += " -label:spam" unless opts[:load_spam] || opts[:labels] == :spam ||
- (opts[:labels] && opts[:labels].include?(:spam))
- query += " -label:killed" unless opts[:load_killed] || opts[:labels] == :killed ||
- (opts[:labels] && opts[:labels].include?(:killed))
+ query += " -label:spam" unless opts[:load_spam] || labels.include?(:spam)
+ query += " -label:killed" unless opts[:load_killed] || labels.include?(:killed)
query
end
@@ -335,7 +333,7 @@ protected
File.chmod 0600, fn
FileUtils.mv fn, bakfn, :force => true unless File.exists?(bakfn) && File.size(bakfn) > File.size(fn)
end
- Redwood::save_yaml_obj @sources.values, fn
+ Redwood::save_yaml_obj @sources.values, fn
File.chmod 0600, fn
end
@sources_dirty = false