print -> puts

This commit is contained in:
Ward Wouts 2008-02-04 21:46:37 +00:00
parent b0d94b8067
commit 98bf631374

View file

@ -161,7 +161,7 @@ def initialize(nntpservers, groupname, newsrc="~/.newsrc")
@connections[server]["newsrc"] = News::Newsrc.new("#{newsrc}.#{server}") @connections[server]["newsrc"] = News::Newsrc.new("#{newsrc}.#{server}")
set_skip_ids(server, @connections[server]["newsrc"].marked_articles(@group)) set_skip_ids(server, @connections[server]["newsrc"].marked_articles(@group))
rescue SocketError, Errno::EINVAL, EOFError, Errno::ETIMEDOUT rescue SocketError, Errno::EINVAL, EOFError, Errno::ETIMEDOUT
print "Connection to #{server} failed: #{$!}\n" puts "Connection to #{server} failed: #{$!}"
@connections[server]["nntp"].quit @connections[server]["nntp"].quit
del_server(server) del_server(server)
end end
@ -198,12 +198,12 @@ def reconnect(server)
retry retry
end end
end end
print "Succesfully reconnected to #{server}\n" puts "Succesfully reconnected to #{server}"
end end
def memusage def memusage
print "memprof:\n" puts "memprof:"
print "global:\n" puts "global:"
# for i in global_variables # for i in global_variables
# print "#{i}\n" # print "#{i}\n"
# end # end
@ -240,7 +240,7 @@ def add(id, messid, from, subject, server)
end end
def del_server(server) def del_server(server)
print "Removing server #{server} from list\n" puts "Removing server #{server} from list"
@connections.delete(server) @connections.delete(server)
@serverlist.delete(server) @serverlist.delete(server)
end end
@ -253,7 +253,7 @@ def get_articles(cachedir=false)
begin begin
first, last = get_group_info(server) first, last = get_group_info(server)
rescue PermError rescue PermError
print "Error: #{$!}\n" puts "Error: #{$!}"
del_server(server) del_server(server)
next next
end end
@ -262,7 +262,7 @@ def get_articles(cachedir=false)
@connections[server]["first"] = first ? first.to_i : 0 @connections[server]["first"] = first ? first.to_i : 0
@connections[server]["last"] = last ? last.to_i : 0 @connections[server]["last"] = last ? last.to_i : 0
if Debuglevel > 0 if Debuglevel > 0
print " Server: #{server} First: #{first} Last: #{last}\n" puts " Server: #{server} First: #{first} Last: #{last}"
end end
# clean up old newsrc entries # clean up old newsrc entries
if @connections[server]["first"] > 0 if @connections[server]["first"] > 0
@ -270,7 +270,7 @@ def get_articles(cachedir=false)
@connections[server]["newsrc"].save @connections[server]["newsrc"].save
end end
else else
print " First article has higher number than last article on server #{server}.\n" puts " First article has higher number than last article on server #{server}."
del_server(server) del_server(server)
end end
end end
@ -294,18 +294,18 @@ def get_articles(cachedir=false)
end end
for server in @connections.keys for server in @connections.keys
print " reading articles from server: #{server}\n" puts " reading articles from server: #{server}"
range = Set::IntSpan.new("#{@connections[server]["first"]}-#{@connections[server]["last"]}") range = Set::IntSpan.new("#{@connections[server]["first"]}-#{@connections[server]["last"]}")
rangelist = rechunk_runlist(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 > 2 puts "rangelist: #{rangelist}" if Debuglevel > 2
print "rangelist: #{rangelist.class.to_s}\n" if Debuglevel > 2 puts "rangelist: #{rangelist.class.to_s}" if Debuglevel > 2
print "rangelist elements: #{range.diff(@connections[server]["skip_ids"]).elements}\n" if Debuglevel > 2 puts "rangelist elements: #{range.diff(@connections[server]["skip_ids"]).elements}" if Debuglevel > 2
begin begin
unless rangelist == nil or rangelist =~ /^$/ unless rangelist == nil or rangelist =~ /^$/
for i in rangelist.split(',') for i in rangelist.split(',')
print "i: #{i}\n" if Debuglevel > 2 puts "i: #{i}" if Debuglevel > 2
begin begin
# resp, xover_lines = get_xover(server, i) # resp, xover_lines = get_xover(server, i)
resp, subj_lines = get_xhdr(server, i, "subject") resp, subj_lines = get_xhdr(server, i, "subject")
@ -327,21 +327,21 @@ def get_articles(cachedir=false)
subj_lines.collect{|x| subj_lines.collect{|x|
art[x[0]] = {} unless art.has_key?(x[0]) art[x[0]] = {} unless art.has_key?(x[0])
art[x[0]]["subject"] = x[1] art[x[0]]["subject"] = x[1]
print "art id: #{x[0]} subj: #{x[1]}\n" if Debuglevel > 2 puts "art id: #{x[0]} subj: #{x[1]}" if Debuglevel > 2
} }
messid_lines.collect{|x| messid_lines.collect{|x|
art[x[0]] = {} unless art.has_key?(x[0]) art[x[0]] = {} unless art.has_key?(x[0])
art[x[0]]["messid"] = x[1] art[x[0]]["messid"] = x[1]
print "art id: #{x[0]} messid: #{x[1]}\n" if Debuglevel > 2 puts "art id: #{x[0]} messid: #{x[1]}" if Debuglevel > 2
} }
from_lines.collect{|x| from_lines.collect{|x|
art[x[0]] = {} unless art.has_key?(x[0]) art[x[0]] = {} unless art.has_key?(x[0])
art[x[0]]["from"] = x[1] art[x[0]]["from"] = x[1]
print "art id: #{x[0]} from: #{x[1]}\n" if Debuglevel > 2 puts "art id: #{x[0]} from: #{x[1]}" if Debuglevel > 2
} }
for id in art.keys for id in art.keys
if art[id].has_key?("subject") and art[id].has_key?("messid") and art[id].has_key?("from") if art[id].has_key?("subject") and art[id].has_key?("messid") and art[id].has_key?("from")
print "adding: #{art[id]["messid"]}, #{id}, #{server}, #{art[id]["from"]}, #{art[id]["subject"]}\n" if Debuglevel > 2 puts "adding: #{art[id]["messid"]}, #{id}, #{server}, #{art[id]["from"]}, #{art[id]["subject"]}" if Debuglevel > 2
# @newids[server][id.to_i] = true # @newids[server][id.to_i] = true
# dit wellicht alleen doen indien preselector hem uitkiest # dit wellicht alleen doen indien preselector hem uitkiest
# en anders een leuk regeltje aan de cache toevoegen, # en anders een leuk regeltje aan de cache toevoegen,
@ -409,11 +409,11 @@ def get_xhdr(server, range, header)
puts "getting headers: #{header}, #{range}" if Debuglevel > 1 puts "getting headers: #{header}, #{range}" if Debuglevel > 1
resp, lines = @connections[server]["nntp"].xhdr(header, range) resp, lines = @connections[server]["nntp"].xhdr(header, range)
if resp.to_i == 500 if resp.to_i == 500
print "xhdr not implemented\n" puts "xhdr not implemented"
print "Error: #{$!}\n" puts "Error: #{$!}"
end end
unless resp.to_i >= 200 and resp.to_i < 300 unless resp.to_i >= 200 and resp.to_i < 300
print "got response #{resp} while reading group #{@group} from #{server}\n" puts "got response #{resp} while reading group #{@group} from #{server}"
raise TempError raise TempError
end end
rescue Net::NNTPReplyError rescue Net::NNTPReplyError
@ -423,7 +423,7 @@ def get_xhdr(server, range, header)
get_group_info(server) get_group_info(server)
retry retry
else else
print "Won't handle this... yet :(\n" puts "Won't handle this... yet :("
end end
rescue Errno::EPIPE, Errno::ECONNRESET, EOFError rescue Errno::EPIPE, Errno::ECONNRESET, EOFError
printerr(server) printerr(server)
@ -434,7 +434,7 @@ def get_xhdr(server, range, header)
end end
return resp, lines return resp, lines
rescue TimeoutError rescue TimeoutError
print "Time out, reconnecting to server (get_xhdr)\n" puts "Time out, reconnecting to server (get_xhdr)"
timedout += 1 timedout += 1
raise PermError, "Too many timeouts! (get_xhdr)" if timedout > 1 raise PermError, "Too many timeouts! (get_xhdr)" if timedout > 1
reconnect(server) reconnect(server)
@ -455,14 +455,14 @@ def get_xover(server, range)
timeout(180) do timeout(180) do
begin begin
p Time.now if Debuglevel > 1 p Time.now if Debuglevel > 1
print "getting headers: #{range}\n" if Debuglevel > 1 puts "getting headers: #{range}" if Debuglevel > 1
resp, lines = @connections[server]["nntp"].xover(start, ed) resp, lines = @connections[server]["nntp"].xover(start, ed)
if resp.to_i == 500 if resp.to_i == 500
print "xover not implemented\n" puts "xover not implemented"
print "Error: #{$!}\n" puts "Error: #{$!}"
end end
unless resp.to_i >= 200 and resp.to_i < 300 unless resp.to_i >= 200 and resp.to_i < 300
print "got response #{resp} while reading group #{@group} from #{server}\n" puts "got response #{resp} while reading group #{@group} from #{server}"
raise TempError raise TempError
end end
rescue Net::NNTPReplyError rescue Net::NNTPReplyError
@ -472,7 +472,7 @@ def get_xover(server, range)
get_group_info(server) get_group_info(server)
retry retry
else else
print "Won't handle this... yet :(\n" puts "Won't handle this... yet :("
end end
rescue Errno::EPIPE, Errno::ECONNRESET, EOFError rescue Errno::EPIPE, Errno::ECONNRESET, EOFError
printerr(server) printerr(server)
@ -483,7 +483,7 @@ def get_xover(server, range)
end end
return resp, lines return resp, lines
rescue TimeoutError rescue TimeoutError
print "Time out, reconnecting to server (get_xover)\n" puts "Time out, reconnecting to server (get_xover)"
timedout += 1 timedout += 1
raise PermError, "Too many timeouts! (get_xover)" if timedout > 1 raise PermError, "Too many timeouts! (get_xover)" if timedout > 1
reconnect(server) reconnect(server)
@ -532,7 +532,7 @@ def get_body(server, message)
end end
return resp, id, messid, list return resp, id, messid, list
rescue TimeoutError, Errno::ETIMEDOUT rescue TimeoutError, Errno::ETIMEDOUT
print "Time out, reconnecting to server (get_body)\n" puts "Time out, reconnecting to server (get_body)"
timedout += 1 timedout += 1
raise PermError, "Too many timeouts! (get_body)" if timedout > 1 raise PermError, "Too many timeouts! (get_body)" if timedout > 1
reconnect(server) reconnect(server)
@ -549,13 +549,13 @@ def get_group_body(subj)
return false if @groups[subj]["messageinfo"] == nil return false if @groups[subj]["messageinfo"] == nil
for i in (0...@groups[subj]["messageinfo"].length) for i in (0...@groups[subj]["messageinfo"].length)
unless @gotten.has_key?(@groups[subj]["messageinfo"][i][:messid]) unless @gotten.has_key?(@groups[subj]["messageinfo"][i][:messid])
print "getting article: #{i}\n" if Debuglevel > 1 puts "getting article: #{i}" if Debuglevel > 1
print "getting article: #{subj}\n" if Debuglevel > 1 puts "getting article: #{subj}" if Debuglevel > 1
print "full subject: #{@groups[subj]["messageinfo"][i][:subject]}\n" if Debuglevel > 0 puts "full subject: #{@groups[subj]["messageinfo"][i][:subject]}" if Debuglevel > 0
print "message id: #{@groups[subj]["messageinfo"][i][:messid]}\n" if Debuglevel > 1 puts "message id: #{@groups[subj]["messageinfo"][i][:messid]}" if Debuglevel > 1
print "id: #{@groups[subj]["messageinfo"][i][:id]}\n" if Debuglevel > 1 puts "id: #{@groups[subj]["messageinfo"][i][:id]}" if Debuglevel > 1
print "from: #{@groups[subj]["messageinfo"][i][:from]}\n" if Debuglevel > 1 puts "from: #{@groups[subj]["messageinfo"][i][:from]}" if Debuglevel > 1
print "server: #{@groups[subj]["messageinfo"][i][:server]}\n" if Debuglevel > 0 puts "server: #{@groups[subj]["messageinfo"][i][:server]}" if Debuglevel > 0
resp = false resp = false
while resp == false while resp == false
if @serverlist.include?(@groups[subj]["messageinfo"][i][:server]) if @serverlist.include?(@groups[subj]["messageinfo"][i][:server])
@ -565,13 +565,13 @@ def get_group_body(subj)
end end
if resp == false if resp == false
if Debuglevel > 1 if Debuglevel > 1
print "mess-id i: #{@groups[subj]["messageinfo"][i][:messid]}\n" puts "mess-id i: #{@groups[subj]["messageinfo"][i][:messid]}"
# XXX dit moet netter kunnen # XXX dit moet netter kunnen
print "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}\n" if @groups[subj]["messageinfo"][i+1] != nil puts "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}" if @groups[subj]["messageinfo"][i+1] != nil
end end
if (i+1 < @groups[subj]["messageinfo"].length) and if (i+1 < @groups[subj]["messageinfo"].length) and
(@groups[subj]["messageinfo"][i][:messid] == @groups[subj]["messageinfo"][i+1][:messid]) (@groups[subj]["messageinfo"][i][:messid] == @groups[subj]["messageinfo"][i+1][:messid])
print " Trying next server...\n" puts " Trying next server..."
i += 1 i += 1
else else
raise TempError, " Message-id not on another server" raise TempError, " Message-id not on another server"
@ -595,22 +595,22 @@ def get_group_body_first(subj)
end end
p "komt wel door lame check heen" p "komt wel door lame check heen"
while @gotten.has_key?(@groups[subj]["messageinfo"][0][:messid]) == false while @gotten.has_key?(@groups[subj]["messageinfo"][0][:messid]) == false
print "getting article: #{subj}\n" if Debuglevel > 0 puts "getting article: #{subj}" if Debuglevel > 0
print "full subject: #{@groups[subj]['messageinfo'][0][:subject]}\n" if Debuglevel > 0 puts "full subject: #{@groups[subj]['messageinfo'][0][:subject]}" if Debuglevel > 0
print "message id: #{@groups[subj]['messageinfo'][i][:messid]}\n" if Debuglevel > 1 puts "message id: #{@groups[subj]['messageinfo'][i][:messid]}" if Debuglevel > 1
print "id: #{@groups[subj]['messageinfo'][i][:id]}\n" if Debuglevel > 1 puts "id: #{@groups[subj]['messageinfo'][i][:id]}" if Debuglevel > 1
print "from: #{@groups[subj]['messageinfo'][i][:from]}\n" if Debuglevel > 1 puts "from: #{@groups[subj]['messageinfo'][i][:from]}" if Debuglevel > 1
print "server: #{@groups[subj]['messageinfo'][0][:server]}\n" if Debuglevel > 0 puts "server: #{@groups[subj]['messageinfo'][0][:server]}" if Debuglevel > 0
resp = false resp = false
while resp == false while resp == false
resp, id, messid, list = get_body(@groups[subj]["messageinfo"][i][:server], @groups[subj]["messageinfo"][i][:messid]) resp, id, messid, list = get_body(@groups[subj]["messageinfo"][i][:server], @groups[subj]["messageinfo"][i][:messid])
if resp == false if resp == false
print "mess-id i: #{@groups[subj]['messageinfo'][i][:messid]}\n" puts "mess-id i: #{@groups[subj]['messageinfo'][i][:messid]}"
# XXX dit moet netter kunnen # XXX dit moet netter kunnen
print "mess-id i+1: #{@groups[subj]['messageinfo'][i+1][:messid]}\n" if @groups[subj]["messageinfo"][i+1] != nil puts "mess-id i+1: #{@groups[subj]['messageinfo'][i+1][:messid]}" if @groups[subj]["messageinfo"][i+1] != nil
if (i+1 < @groups[subj]["messageinfo"].length) and if (i+1 < @groups[subj]["messageinfo"].length) and
(@groups[subj]["messageinfo"][i][:messid] == @groups[subj]["messageinfo"][i+1][:messid]) (@groups[subj]["messageinfo"][i][:messid] == @groups[subj]["messageinfo"][i+1][:messid])
print "Trying next server...\n" puts "Trying next server..."
i += 1 i += 1
else else
raise TempError, "Message-id not on another server" raise TempError, "Message-id not on another server"
@ -627,23 +627,23 @@ def get_group_body_rest(subj, file=nil)
result = [] result = []
for i in (1...@groups[subj]["messageinfo"].length) for i in (1...@groups[subj]["messageinfo"].length)
unless @gotten.has_key?(@groups[subj]["messageinfo"][i][:messid]) unless @gotten.has_key?(@groups[subj]["messageinfo"][i][:messid])
print "getting article: #{i}\n" if Debuglevel > 1 puts "getting article: #{i}" if Debuglevel > 1
print "getting article: #{subj}\n" if Debuglevel > 1 puts "getting article: #{subj}" if Debuglevel > 1
print "full subject: #{@groups[subj]['messageinfo'][i][:subject]}\n" if Debuglevel > 0 puts "full subject: #{@groups[subj]['messageinfo'][i][:subject]}" if Debuglevel > 0
print "message id: #{@groups[subj]['messageinfo'][i][:messid]}\n" if Debuglevel > 1 puts "message id: #{@groups[subj]['messageinfo'][i][:messid]}" if Debuglevel > 1
print "id: #{@groups[subj]['messageinfo'][i][:id]}\n" if Debuglevel > 1 puts "id: #{@groups[subj]['messageinfo'][i][:id]}" if Debuglevel > 1
print "server: #{@groups[subj]['messageinfo'][i][:server]}\n" if Debuglevel > 0 puts "server: #{@groups[subj]['messageinfo'][i][:server]}" if Debuglevel > 0
resp = false resp = false
while resp == false while resp == false
resp, id, messid, list = get_body(@groups[subj]["messageinfo"][i][:server], @groups[subj]["messageinfo"][i][:messid]) resp, id, messid, list = get_body(@groups[subj]["messageinfo"][i][:server], @groups[subj]["messageinfo"][i][:messid])
if resp == false if resp == false
print "mess-id i: #{@groups[subj]["messageinfo"][i][:messid]}\n" puts "mess-id i: #{@groups[subj]["messageinfo"][i][:messid]}"
# print "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}\n" # print "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}\n"
# XXX dit moet netter kunnen # XXX dit moet netter kunnen
print "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}\n" if @groups[subj]["messageinfo"][i+1] != nil puts "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}" if @groups[subj]["messageinfo"][i+1] != nil
if (i+1 < @groups[subj]["messageinfo"].length) and if (i+1 < @groups[subj]["messageinfo"].length) and
(@groups[subj]["messageinfo"][i][:messid] == @groups[subj]["messageinfo"][i+1][:messid]) (@groups[subj]["messageinfo"][i][:messid] == @groups[subj]["messageinfo"][i+1][:messid])
print "Trying next server...\n" puts "Trying next server..."
i += 1 i += 1
else else
raise TempError, "Message-id not on another server" raise TempError, "Message-id not on another server"
@ -737,7 +737,7 @@ end
def group_subjects def group_subjects
@groups = {} @groups = {}
for i in (0...@messageinfo.length) for i in (0...@messageinfo.length)
print "group subjects: #{i} #{@messageinfo[i][:subject]}\n" if Debuglevel > 3 puts "group subjects: #{i} #{@messageinfo[i][:subject]}" if Debuglevel > 3
# misschien is het wel belangrijk dat er voorkeuren in deze # misschien is het wel belangrijk dat er voorkeuren in deze
# match zitten... geen idee # match zitten... geen idee
if @messageinfo[i][:subject] =~ /(.*)\((\d+)\/(\d+)\)(.*)/ || @messageinfo[i][:subject] =~ /(.*)\[(\d+)\/(\d+)\](.*)/ if @messageinfo[i][:subject] =~ /(.*)\((\d+)\/(\d+)\)(.*)/ || @messageinfo[i][:subject] =~ /(.*)\[(\d+)\/(\d+)\](.*)/
@ -799,7 +799,7 @@ end
def cache_check(cachedir) def cache_check(cachedir)
if ! FileTest.exists?(cachedir) if ! FileTest.exists?(cachedir)
print "Cachedir '#{cachedir}' doesn't exists, performance will suffer\n" puts "Cachedir '#{cachedir}' doesn't exists, performance will suffer"
end end
end end
@ -835,9 +835,9 @@ puts " #{Time.now} Reading cache for #{server}"
end end
} }
if ( File.move("#{filename}.#{server}.new", "#{filename}.#{server}") ) if ( File.move("#{filename}.#{server}.new", "#{filename}.#{server}") )
print " #{Time.now} Cache scrubbed for #{server}\n" puts " #{Time.now} Cache scrubbed for #{server}"
else else
print "Couldn't scrub #{server} cache\n" puts "Couldn't scrub #{server} cache"
end end
end end
end end
@ -850,7 +850,7 @@ def cache_save(cachedir, server)
#p Time.now #p Time.now
filename = "#{cachedir}/#{@group}.ripnewscache" filename = "#{cachedir}/#{@group}.ripnewscache"
if FileTest.directory?( cachedir ) if FileTest.directory?( cachedir )
file = File.new( "#{filename}.#{server}", "a+" ) or print "couldn't open cachefile for writing\n" file = File.new( "#{filename}.#{server}", "a+" ) or puts "couldn't open cachefile for writing"
# print "Updating cache...\n" # print "Updating cache...\n"
@cache_buf[server].sort! @cache_buf[server].sort!
file.print @cache_buf[server] file.print @cache_buf[server]
@ -912,10 +912,10 @@ def group_subject_sort(subj)
sort_arr = [] sort_arr = []
#p "pre sort length: #{@groups[subj]['messageinfo'].length}" #p "pre sort length: #{@groups[subj]['messageinfo'].length}"
for i in (0...@groups[subj]["messageinfo"].length) for i in (0...@groups[subj]["messageinfo"].length)
print "subj sort #{@groups[subj]['messageinfo'][i][:subject]}\n" if Debuglevel > 2 puts "subj sort #{@groups[subj]['messageinfo'][i][:subject]}" if Debuglevel > 2
print "subj sort #{@groups[subj]['messageinfo'][i][:messid]}\n" if Debuglevel > 2 puts "subj sort #{@groups[subj]['messageinfo'][i][:messid]}" if Debuglevel > 2
print "subj sort #{@groups[subj]['messageinfo'][i][:id]}\n" if Debuglevel > 2 puts "subj sort #{@groups[subj]['messageinfo'][i][:id]}" if Debuglevel > 2
print "subj sort #{@groups[subj]['messageinfo'][i][:server]}\n" if Debuglevel > 2 puts "subj sort #{@groups[subj]['messageinfo'][i][:server]}" if Debuglevel > 2
sort_arr.push( sort_arr.push(
@groups[subj]["messageinfo"][i].dup @groups[subj]["messageinfo"][i].dup
) if serverhash[@groups[subj]["messageinfo"][i][:server]] != nil ) if serverhash[@groups[subj]["messageinfo"][i][:server]] != nil
@ -926,11 +926,11 @@ def group_subject_sort(subj)
sort_arr.sort!{|a,b| sort_arr.sort!{|a,b|
r = ward_sort(a[:subject], b[:subject]) r = ward_sort(a[:subject], b[:subject])
if serverhash[a[:server]] == nil or serverhash[b[:server]] == nil if serverhash[a[:server]] == nil or serverhash[b[:server]] == nil
print "serverhash[a[:server]]: #{serverhash[a[:server]]}\n" puts "serverhash[a[:server]]: #{serverhash[a[:server]]}"
print "serverhash[b[:server]]: #{serverhash[b[:server]]}\n" puts "serverhash[b[:server]]: #{serverhash[b[:server]]}"
print "a[:server]: #{a[:server]}\n" puts "a[:server]: #{a[:server]}"
print "b[:server]: #{a[:server]}\n" puts "b[:server]: #{a[:server]}"
print "strange things going on here...\n" puts "strange things going on here..."
end end
if r == 0 if r == 0
r = serverhash[a[:server]] <=> serverhash[b[:server]] r = serverhash[a[:server]] <=> serverhash[b[:server]]
@ -948,8 +948,8 @@ def group_subject_sort(subj)
else else
@groups[subj]["messageinfo"] = [ i ] @groups[subj]["messageinfo"] = [ i ]
end end
print "subject sort: #{i[:subject]}\n" if Debuglevel > 2 puts "subject sort: #{i[:subject]}" if Debuglevel > 2
print "server: #{i[:server]}\n" if Debuglevel > 2 puts "server: #{i[:server]}" if Debuglevel > 2
} }
#if ! @groups[subj]['messageinfo'].nil? #if ! @groups[subj]['messageinfo'].nil?
# p "post sort length: #{@groups[subj]['messageinfo'].length}" # p "post sort length: #{@groups[subj]['messageinfo'].length}"
@ -1003,8 +1003,8 @@ def rechunk_runlist(runlist)
end end
def printerr(server) def printerr(server)
print "Caught #{$!.class} reading from server #{server} (#{caller[0]})\n" puts "Caught #{$!.class} reading from server #{server} (#{caller[0]})"
print "Error: #{$!}\n" puts "Error: #{$!}"
end end
def disconnect def disconnect