bugfixes multipart werkte niet meer en hoop debugging meuk
This commit is contained in:
parent
bf26a4e7de
commit
39aae3d4e0
1 changed files with 34 additions and 23 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# $Dwarf: article.rb,v 1.91 2004/10/14 21:47:06 ward Exp $
|
||||
# $Dwarf: article.rb,v 1.92 2004/10/14 21:54:51 ward Exp $
|
||||
# $Source$
|
||||
|
||||
#
|
||||
|
|
@ -125,7 +125,7 @@ end
|
|||
|
||||
def preselect(subject)
|
||||
@preselectpatterns.collect{|regexp|
|
||||
if regexp.match(subject) != nil
|
||||
if subject =~ regexp
|
||||
return true
|
||||
end
|
||||
}
|
||||
|
|
@ -318,6 +318,7 @@ def get_groupname
|
|||
end
|
||||
|
||||
def get_body(server, message)
|
||||
p "get_body"
|
||||
timedout = 0
|
||||
retries = 0
|
||||
resp = ""
|
||||
|
|
@ -362,6 +363,7 @@ def get_body(server, message)
|
|||
end
|
||||
|
||||
def get_group_body(subj)
|
||||
p "get_group_body"
|
||||
result = []
|
||||
group_subject_sort(subj)
|
||||
# puts @groups[subj].to_yaml
|
||||
|
|
@ -383,7 +385,7 @@ def get_group_body(subj)
|
|||
end
|
||||
if resp == false
|
||||
if Debuglevel > 1
|
||||
print "mess-id i: #{@groups[subj]["messages"][i]}\n"
|
||||
print "mess-id i: #{@groups[subj]["messageinfo"][i][:messid]}\n"
|
||||
# XXX dit moet netter kunnen
|
||||
print "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}\n" if @groups[subj]["messageinfo"][i+1] != nil
|
||||
end
|
||||
|
|
@ -404,24 +406,27 @@ def get_group_body(subj)
|
|||
end
|
||||
|
||||
def get_group_body_first(subj)
|
||||
p "get_group_body_first"
|
||||
group_subject_sort(subj)
|
||||
i = 0
|
||||
unless @groups[subj]["messageinfo"] != nil && @groups[subj]["messageinfo"][0][:messid]
|
||||
p "ieks komt niet door lame check heen"
|
||||
return false
|
||||
end
|
||||
p "komt wel door lame check heen"
|
||||
while @gotten.has_key?(@groups[subj]["messageinfo"][0][:messid]) == false
|
||||
print "getting article: #{subj}\n" if Debuglevel > 0
|
||||
print "full subject: #{@groups[subj]["messageinfo"][0][:subject]}\n" if Debuglevel > 0
|
||||
print "message id: #{@groups[subj]["messageinfo"][i][:messid]}\n" if Debuglevel > 1
|
||||
print "id: #{@groups[subj]["messageinfo"][i][:id]}\n" if Debuglevel > 1
|
||||
print "server: #{@groups[subj]["messageinfo"][0][:server]}\n" if Debuglevel > 0
|
||||
print "full subject: #{@groups[subj]['messageinfo'][0][:subject]}\n" if Debuglevel > 0
|
||||
print "message id: #{@groups[subj]['messageinfo'][i][:messid]}\n" if Debuglevel > 1
|
||||
print "id: #{@groups[subj]['messageinfo'][i][:id]}\n" if Debuglevel > 1
|
||||
print "server: #{@groups[subj]['messageinfo'][0][:server]}\n" if Debuglevel > 0
|
||||
resp = false
|
||||
while resp == false
|
||||
resp, id, messid, list = get_body(@groups[subj]["messageinfo"][i][:server], @groups[subj]["messageinfo"][i][:messid])
|
||||
if resp == false
|
||||
print "mess-id i: #{@groups[subj]["messageinfo"][i][:messid]}\n"
|
||||
print "mess-id i: #{@groups[subj]['messageinfo'][i][:messid]}\n"
|
||||
# XXX dit moet netter kunnen
|
||||
print "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}\n" if @groups[subj]["messageinfo"][i+1] != nil
|
||||
print "mess-id i+1: #{@groups[subj]['messageinfo'][i+1][:messid]}\n" if @groups[subj]["messageinfo"][i+1] != nil
|
||||
if (i+1 < @groups[subj]["messageinfo"].length) and
|
||||
(@groups[subj]["messageinfo"][i][:messid] == @groups[subj]["messageinfo"][i+1][:messid])
|
||||
print "Trying next server...\n"
|
||||
|
|
@ -437,18 +442,19 @@ def get_group_body_first(subj)
|
|||
end
|
||||
|
||||
def get_group_body_rest(subj, file=nil)
|
||||
p "get_group_body_rest"
|
||||
result = []
|
||||
for i in (1...@groups[subj]["messageinfo"].length)
|
||||
unless @gotten.has_key?(@groups[subj]["messageinfo"][i][:messid])
|
||||
print "getting article: #{i}\n" if Debuglevel > 1
|
||||
print "getting article: #{subj}\n" if Debuglevel > 1
|
||||
print "full subject: #{@groups[subj]["messageinfo"][i][:subject]}\n" if Debuglevel > 0
|
||||
print "message id: #{@groups[subj]["messageinfo"][i][:messid]}\n" if Debuglevel > 1
|
||||
print "id: #{@groups[subj]["messageinfo"][i][:id]}\n" if Debuglevel > 1
|
||||
print "server: #{@groups[subj]["messageinfo"][i][:server]}\n" if Debuglevel > 0
|
||||
print "full subject: #{@groups[subj]['messageinfo'][i][:subject]}\n" if Debuglevel > 0
|
||||
print "message id: #{@groups[subj]['messageinfo'][i][:messid]}\n" if Debuglevel > 1
|
||||
print "id: #{@groups[subj]['messageinfo'][i][:id]}\n" if Debuglevel > 1
|
||||
print "server: #{@groups[subj]['messageinfo'][i][:server]}\n" if Debuglevel > 0
|
||||
resp = false
|
||||
while resp == false
|
||||
resp, id, messid, list = get_body(@groups[subj]["messageinfo"][i][:server], @groups[subj]["messages"][i])
|
||||
resp, id, messid, list = get_body(@groups[subj]["messageinfo"][i][:server], @groups[subj]["messageinfo"][i][:messid])
|
||||
if resp == false
|
||||
print "mess-id i: #{@groups[subj]["messageinfo"][i][:messid]}\n"
|
||||
# print "mess-id i+1: #{@groups[subj]["messageinfo"][i+1][:messid]}\n"
|
||||
|
|
@ -487,6 +493,7 @@ def group_is_complete(subj)
|
|||
@groups[subj]["messageinfo"].each {|x|
|
||||
messids.push(x[:messid])
|
||||
}
|
||||
#p "group complete?: #{messids}"
|
||||
umessids = messids.uniq
|
||||
if (umessids.length ) >= @groups[subj]["total"].to_i
|
||||
return true
|
||||
|
|
@ -569,7 +576,9 @@ p Time.now
|
|||
@connections[server]["skip_ids"].elements.collect!{|x| excludes[server][x]=true}
|
||||
if FileTest.directory?( cachedir) and FileTest.file?( "#{filename}.#{server}" ) and FileTest.readable?( "#{filename}.#{server}" )
|
||||
file = File.new( "#{filename}.#{server}" )
|
||||
file.each{|line|
|
||||
lines = file.readlines
|
||||
#file.each{|line|
|
||||
lines.collect{|line|
|
||||
# id | messageid | subject
|
||||
#if line =~ /^(\d+)\|(.*?)\|(.*)$/
|
||||
if line =~ lineregexp
|
||||
|
|
@ -671,12 +680,14 @@ def group_subject_sort(subj)
|
|||
for i in (0...@serverlist.length)
|
||||
serverhash[@serverlist[i]] = i
|
||||
end
|
||||
total = @groups[subj]["total"]
|
||||
sort_arr = []
|
||||
p "pre sort length: #{@groups[subj]['messageinfo'].length}"
|
||||
for i in (0...@groups[subj]["messageinfo"].length)
|
||||
print "subj sort #{@groups[subj]["messageinfo"][i][:subject]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]["messageinfo"][i][:messid]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]["messageinfo"][i][:id]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]["messageinfo"][i][:server]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]['messageinfo'][i][:subject]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]['messageinfo'][i][:messid]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]['messageinfo'][i][:id]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]['messageinfo'][i][:server]}\n" if Debuglevel > 2
|
||||
sort_arr.push(
|
||||
@groups[subj]["messageinfo"][i].dup
|
||||
) if serverhash[@groups[subj]["messageinfo"][i][:server]] != nil
|
||||
|
|
@ -696,12 +707,11 @@ def group_subject_sort(subj)
|
|||
r
|
||||
}
|
||||
|
||||
# XXX hmmmm lijkt er op dat @groups[x]["total"] hier wel gesloopt wordt...
|
||||
# XXX maakt blijkbaar niet uit, maar is niet netjes
|
||||
|
||||
@groups[subj].clear
|
||||
@groups[subj]["total"] = total
|
||||
p "sort_arr length: #{sort_arr.length}"
|
||||
sort_arr.collect{|i|
|
||||
if @groups[subj].has_key?("messages")
|
||||
if @groups[subj].has_key?("messageinfo")
|
||||
@groups[subj]["messageinfo"].push(i)
|
||||
else
|
||||
@groups[subj]["messageinfo"] = [ i ]
|
||||
|
|
@ -709,6 +719,7 @@ def group_subject_sort(subj)
|
|||
print "subject sort: #{i[:subject]}\n" if Debuglevel > 2
|
||||
print "server: #{i[:server]}\n" if Debuglevel > 2
|
||||
}
|
||||
p "post sort length: #{@groups[subj]['messageinfo'].length}"
|
||||
#print "Done sorting\n"
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue