ask smaller header chunks from server. 200 lines max

This commit is contained in:
Ward Wouts 2002-05-07 11:48:18 +00:00
parent 4b55e154bb
commit 9b6281e83d

View file

@ -65,8 +65,8 @@ def get_articles(cachedir=false)
for server in @connections.keys for server in @connections.keys
print "reading articles from server: #{server}\n" print "reading articles from server: #{server}\n"
range = Set::IntSpan.new("#{@connections[server]["first"]}-#{@connections[server]["last"]}") range = Set::IntSpan.new("#{@connections[server]["first"]}-#{@connections[server]["last"]}")
rangelist = range.diff(@connections[server]["skip_ids"]).run_list rangelist = rechunk_runlist(range.diff(@connections[server]["skip_ids"]).run_list)
print "rangelist: #{rangelist}\n" if Debuglevel >1 print "rangelist: #{rangelist}\n"# if Debuglevel >1
print "rangelist: #{rangelist.type.to_s}\n" if Debuglevel >1 print "rangelist: #{rangelist.type.to_s}\n" if Debuglevel >1
print "rangelsit elements: #{range.diff(@connections[server]["skip_ids"]).elements}\n" if Debuglevel >1 print "rangelsit elements: #{range.diff(@connections[server]["skip_ids"]).elements}\n" if Debuglevel >1
unless rangelist == nil or rangelist =~ /^$/ unless rangelist == nil or rangelist =~ /^$/
@ -830,6 +830,27 @@ def ward_sort(a, b)
return 0 return 0
end end
def rechunk_runlist(runlist)
blalist = runlist.split(',')
blalist.collect!{|x|
result = ""
if x =~ /(.*)-(.*)/
a = $1
while ($2.to_i - a.to_i) > 200
result += "#{a}-#{a.to_i+199},"
a = a.to_i + 200
end
result += "#{a}-#{$2}"
else
x
end
blup = blalist.join(",")
return blup
}
return
end
def quit def quit
for server in @connections.keys for server in @connections.keys
@connections[server]["nntp"].quit @connections[server]["nntp"].quit