diff --git a/trunk/ripnews/news/article.rb b/trunk/ripnews/news/article.rb index f6e5d52..9f8fa54 100644 --- a/trunk/ripnews/news/article.rb +++ b/trunk/ripnews/news/article.rb @@ -141,9 +141,12 @@ def get_group_body(subj) for i in (0...@groups[subj]["messages"].length) unless @gotten.has_key?(@groups[subj]["messages"][i]) print "getting article: #{i}\n" if Debuglevel > 1 + print "getting article: #{subj}\n" if Debuglevel > 1 + print "full subject: #{@groups[subj]["subject"][i]}\n" if Debuglevel > 0 + print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1 + print "id: #{@groups[subj]["ids"][i]}\n" if Debuglevel > 1 + print "server: #{@groups[subj]["servers"][i]}\n" if Debuglevel > 0 begin - print "Server: #{@groups[subj]["servers"][i]}\n" - print "Messid: #{@groups[subj]["messages"][i]}\n" resp, id, messid, list = @connections[@groups[subj]["servers"][i]]["nntp"].body(@groups[subj]["messages"][i]) rescue Net::NNTPReplyError print "Caught Net::NNTPReplyError in get_group_body reading article #{@groups[subj]["messages"][0]}\n" @@ -154,6 +157,7 @@ def get_group_body(subj) end return false end + @gotten[ @groups[subj]["messages"][i] ] = true result = list end end @@ -163,10 +167,14 @@ end def get_group_body_first(subj) group_subject_sort(subj) i = 0 - while @gotten[messid] == false + while @gotten.has_key?(@groups[subj]["messages"][0]) == false + print "getting article: #{subj}\n" if Debuglevel > 0 + print "full subject: #{@groups[subj]["subject"][0]}\n" if Debuglevel > 0 + print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1 + print "id: #{@groups[subj]["ids"][i]}\n" if Debuglevel > 1 + print "server: #{@groups[subj]["servers"][0]}\n" if Debuglevel > 0 begin resp, id, messid, list = @connections[@groups[subj]["servers"][i]]["nntp"].body(@groups[subj]["messages"][i]) - @gotten[messid] = true rescue Net::NNTPReplyError print "Caught Net::NNTPReplyError in get_group_body_first reading article #{@groups[subj]["messages"][0]}\n" if (i+1 < @groups[subj]["messages"].length) and @@ -177,12 +185,8 @@ def get_group_body_first(subj) end return false end + @gotten[@groups[subj]["messages"][i]] = true end - print "getting article: #{subj}\n" if Debuglevel > 0 - print "full subject: #{@groups[subj]["subject"][0]}\n" if Debuglevel > 0 - print "message id: #{messid}\n" if Debuglevel > 0 - print "id: #{id}\n" if Debuglevel > 0 - print "server: #{@groups[subj]["servers"][0]}\n" if Debuglevel > 0 return list end @@ -191,9 +195,12 @@ def get_group_body_rest(subj, file=nil) for i in (1...@groups[subj]["messages"].length) unless @gotten.has_key?(@groups[subj]["messages"][i]) print "getting article: #{i}\n" if Debuglevel > 1 + print "getting article: #{subj}\n" if Debuglevel > 1 + print "full subject: #{@groups[subj]["subject"][i]}\n" if Debuglevel > 0 + print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1 + print "id: #{@groups[subj]["ids"][i]}\n" if Debuglevel > 1 + print "server: #{@groups[subj]["servers"][i]}\n" if Debuglevel > 0 begin - print "Server: #{@groups[subj]["servers"][i]}\n" - print "Messid: #{@groups[subj]["messages"][i]}\n" resp, id, messid, list = @connections[@groups[subj]["servers"][i]]["nntp"].body(@groups[subj]["messages"][i]) if resp == false return false @@ -207,12 +214,7 @@ def get_group_body_rest(subj, file=nil) end return false end - print "getting article: #{subj}\n" if Debuglevel > 1 - print "full subject: #{@groups[subj]["subject"][i]}\n" if Debuglevel > 0 - print "message id: #{messid}\n" if Debuglevel > 0 - print "id: #{id}\n" if Debuglevel > 0 - print "server: #{@groups[subj]["servers"][i]}\n" if Debuglevel > 0 - @gotten[ @groups[subj]["messages"][i] ] = true + @gotten[ @groups[subj]["messages"][i] ] = true if file list.collect{|line| file.print "#{line}\n"} else