summaryrefslogtreecommitdiff
path: root/lib/feed2imap
diff options
context:
space:
mode:
Diffstat (limited to 'lib/feed2imap')
-rw-r--r--lib/feed2imap/cache.rb26
1 files changed, 25 insertions, 1 deletions
diff --git a/lib/feed2imap/cache.rb b/lib/feed2imap/cache.rb
index e270f05..006e99e 100644
--- a/lib/feed2imap/cache.rb
+++ b/lib/feed2imap/cache.rb
@@ -124,6 +124,24 @@ class CachedChannel
updateditems = []
@itemstemp = @items
items.each { |i| i.cacheditem ||= CachedItem::new(i) }
+ # remove dups
+ dups = true
+ while dups
+ dups = false
+ for i in 0...items.length do
+ for j in i+1...items.length do
+ if items[i].cacheditem.link == items[j].cacheditem.link
+ if UPDATEDDEBUG
+ puts "## Removed #{items[j].cacheditem.to_s}"
+ end
+ items.delete_at(j)
+ dups = true
+ break
+ end
+ end
+ break if dups
+ end
+ end
# debug : dump interesting info to stdout.
if UPDATEDDEBUG
puts "-------Items downloaded :----------"
@@ -147,8 +165,8 @@ class CachedChannel
next if found
# Try to find an updated item
@items.each do |j|
+ # Do we need a better heuristic ?
if i.link and i.link == j.link
- # Do we need a better heuristic ?
i.cacheditem.index = j.index
i.cacheditem.updated = true
updateditems.push(i)
@@ -166,6 +184,12 @@ class CachedChannel
# add i.cacheditem to @itemstemp
@itemstemp.unshift(i.cacheditem)
end
+ if UPDATEDDEBUG
+ puts "-------New items :----------"
+ newitems.each { |i| puts "#{i.cacheditem.to_s}" }
+ puts "-------Updated items :----------"
+ updateditems.each { |i| puts "#{i.cacheditem.to_s}" }
+ end
return [newitems, updateditems]
end
subject'>Removed catapultRené 'Necoro' Neumann3-427/+0 2008-07-08Added the reload_portage pluginRené 'Necoro' Neumann1-1/+1 2008-07-08Added the reload_portage pluginRené 'Necoro' Neumann2-4/+36 2008-07-08Very basic documentationRené 'Necoro' Neumann1-57/+16 2008-07-08Documented the plugin moduleRené 'Necoro' Neumann2-32/+229 2008-07-04Ported remaining pluginsRené 'Necoro' Neumann6-89/+100 2008-07-04Removed lxml version in error stringRené 'Necoro' Neumann1-2/+1 2008-07-04Removed lxml version in error stringRené 'Necoro' Neumann1-3/+1 2008-07-04Ignore errors on plugin loadingRené 'Necoro' Neumann1-0/+6 2008-07-04Added ability to install missing plugin depsRené 'Necoro' Neumann3-95/+126 2008-07-04Fixed find_best_match for <portage-2.1.5René 'Necoro' Neumann1-2/+2 2008-07-04Some more dependency awarenessRené 'Necoro' Neumann5-23/+59 2008-07-03Some window refinementRené 'Necoro' Neumann1-109/+126 2008-07-03Removed XSD_LOCATION -- as there is no more xsd ;)René 'Necoro' Neumann2-5/+1 2008-07-03Updated setup.py to install the correct set of pluginsRené 'Necoro' Neumann1-3/+2 2008-07-03Ported etc-proposals pluginRené 'Necoro' Neumann3-50/+43 2008-07-03Ported gpytage pluginRené 'Necoro' Neumann2-16/+14 2008-07-03Ported Notify pluginRené 'Necoro' Neumann4-37/+51 2008-07-03Remove xsd and -x cmdline optionRené 'Necoro' Neumann2-107/+1 2008-07-03Ported completelyRené 'Necoro' Neumann3-548/+54 2008-07-03Should show dependencies nowRené 'Necoro' Neumann2-82/+128 2008-07-03Use __slots__ for the PkgData class to save memoryRené 'Necoro' Neumann1-2/+3 2008-07-03New plugin system - first hackRené 'Necoro' Neumann2-420/+683 2008-06-30Now the new design is able to do the same as the old oneRené 'Necoro' Neumann3-168/+182 2008-06-30First draft of the new plugin windowRené 'Necoro' Neumann1-8/+172 2008-06-30Added stuff to plugin.pyRené 'Necoro' Neumann1-2/+24 2008-06-30Beautified some dialogsRené 'Necoro' Neumann1-6/+8 2008-06-30Only add a package to mergequeue if everything went fineRené 'Necoro' Neumann1-1/+1 2008-06-26Removed '__find_resolved_unresolved' as it is quite useless.René 'Necoro' Neumann3-53/+29 Also removed the "find_packages::ws" and moved the content into "world" and "system" to prepare for exchangebility. 2008-06-26Added very basic set queryingRené 'Necoro' Neumann3-0/+27 2008-06-25Now load 22 versions when running the correct portageRené 'Necoro' Neumann4-8/+18 2008-06-25Added Package_22 and System_22René 'Necoro' Neumann4-5/+63