diff options
author | lnu <lnu@f70e237a-67f3-0310-a06c-d2b8a7116972> | 2005-05-14 08:51:02 +0000 |
---|---|---|
committer | lnu <lnu@f70e237a-67f3-0310-a06c-d2b8a7116972> | 2005-05-14 08:51:02 +0000 |
commit | 6a1d8476735dd8c9581380cf6af8125da69022c4 (patch) | |
tree | ae55a83224602b1a951fcb1228419e47f95b51c6 | |
parent | ed0c0c41c728717de3a6afcdf071100a680649aa (diff) | |
download | feed2imap-6a1d8476735dd8c9581380cf6af8125da69022c4.tar.gz feed2imap-6a1d8476735dd8c9581380cf6af8125da69022c4.tar.bz2 feed2imap-6a1d8476735dd8c9581380cf6af8125da69022c4.zip |
cleaner way to manage dup ID
git-svn-id: svn+ssh://svn.gna.org/svn/feed2imap/trunk/feed2imap@27 f70e237a-67f3-0310-a06c-d2b8a7116972
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | lib/feed2imap/imap.rb | 7 |
2 files changed, 4 insertions, 4 deletions
@@ -1,5 +1,6 @@ Feed2Imap 0.3 (date unknown) ============================ +* Cleaner way to manage duplicate IDs (#1773) * Fixed a problem with pseudo-duplicate entries from Mediawiki * Fixed a problem with updated items being seen as updated at each update. * Fixed a problem when the disconnection from the IMAP server failed. diff --git a/lib/feed2imap/imap.rb b/lib/feed2imap/imap.rb index 301b95c..db5df7a 100644 --- a/lib/feed2imap/imap.rb +++ b/lib/feed2imap/imap.rb @@ -100,12 +100,11 @@ class ImapAccount @connection.select(folder) searchres = @connection.search(['HEADER', 'X-CacheIndex', "-#{idx}-"]) flags = nil - if searchres.length == 1 + if searchres.length > 0 + # we get the flags from the first result and delete everything flags = @connection.fetch(searchres[0], 'FLAGS')[0].attr['FLAGS'] - @connection.store(searchres[0], "+FLAGS", [:Deleted]) + searchres.each { |m| @connection.store(m, "+FLAGS" [:Deleted]) } @connection.expunge - elsif searchres.length != 0 - raise "Search returned multiple results !!" end @connection.append(folder, mail, flags) end |