From f0778b306c19e3f5db9bd772eaf755033a9cedd6 Mon Sep 17 00:00:00 2001 From: wmorgan Date: Wed, 20 Dec 2006 19:07:23 +0000 Subject: [PATCH] fixed search for spam problem git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@86 5c8cc53c-5e98-4d25-b20a-d8db53a31250 --- lib/sup/index.rb | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/sup/index.rb b/lib/sup/index.rb index 4288549..5d55af9 100644 --- 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 -- 2.45.2