From f77ca9ea9c265658ec8626f2c06b5d5de6df1ee1 Mon Sep 17 00:00:00 2001 From: Ward Wouts Date: Sat, 5 Feb 2005 10:48:31 +0000 Subject: [PATCH] haal een redelijke hoeveelheid oude articles op --- trunk/ripnews/news/article.rb | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/trunk/ripnews/news/article.rb b/trunk/ripnews/news/article.rb index 9f3e583..46580ad 100644 --- a/trunk/ripnews/news/article.rb +++ b/trunk/ripnews/news/article.rb @@ -1,4 +1,4 @@ -# $Dwarf: article.rb,v 1.104 2005/02/01 22:09:22 ward Exp $ +# $Dwarf: article.rb,v 1.105 2005/02/05 08:26:44 ward Exp $ # $Source$ # @@ -176,20 +176,26 @@ def get_articles(cachedir=false) # print "############################################################\n" # print "skip_ids #{server}: #{@connections[server]["skip_ids"].run_list}\n" # end + + # spul dat echt te oud is gaat nooit gevuld worden, dus doe ook geen poging het op te halen + # wil wel wat ophalen aangezien logging aantoont dat er wel oudere articles gedownload worden + articles = @connections[server]["last"] - @connections[server]["first"] + if articles > 10000 + fillerend = (@connections[server]["last"] - (articles/10)).to_i + else + fillerend = @connections[server]["last"] - 1000 + end + if fillerend > @connections[server]["skip_ids"].min + @connections[server]["skip_ids"] = @connections[server]["skip_ids"].union("#{@connections[server]["skip_ids"].min}-#{fillerend}") +# p "filling #{@connections[server]["skip_ids"].min}-#{fillerend}" + end + for server in @connections.keys print " reading articles from server: #{server}\n" -# range = Set::IntSpan.new("#{@connections[server]["first"]}-#{@connections[server]["last"]}") - # is dit wel handig? ik denk dat het eigenlijk beter is om alleen de articles op te halen - # die nieuwe zijn dan de laatste die je al hebt - # al de gaten krijg je toch niet gevuld en duren kei lang -# rangelist = rechunk_runlist(range.diff(@connections[server]["skip_ids"]).run_list) + range = Set::IntSpan.new("#{@connections[server]["first"]}-#{@connections[server]["last"]}") + + rangelist = rechunk_runlist(range.diff(@connections[server]["skip_ids"]).run_list) - # dat idee maar eens testen dan: - if @connections[server]["skip_ids"].max < @connections[server]["last"] - rangelist = Set::IntSpan.new("#{@connections[server]["skip_ids"].max}-#{@connections[server]["last"]}").run_list - else - rangelist = "" - end print "rangelist: #{rangelist}\n" if Debuglevel > 2 print "rangelist: #{rangelist.class.to_s}\n" if Debuglevel > 2 print "rangelist elements: #{range.diff(@connections[server]["skip_ids"]).elements}\n" if Debuglevel > 2