syntax fixen & speedups for ydecode (i hope)

This commit is contained in:
Ward Wouts 2002-08-06 16:07:48 +00:00
parent 6367110c56
commit 3f4bdd189b

View file

@ -253,9 +253,15 @@ def get_body(server, message)
begin begin
resp, id, messid, list = @connections[server]["nntp"].body(message) resp, id, messid, list = @connections[server]["nntp"].body(message)
rescue Net::NNTPReplyError rescue Net::NNTPReplyError
a = ''
a += $!
print "Caught Net::NNTPReplyError reading article #{message} from #{server} (get_body)\n" print "Caught Net::NNTPReplyError reading article #{message} from #{server} (get_body)\n"
print "Error: #{$!}\n" print "Error: #{$!}\n"
print "Status: #{$?}\n" if retries == 0 && a =~ /^503/
reconnect(server)
get_group_info(server)
retry
end
return false return false
rescue EOFError rescue EOFError
print "Caught EOFError reading article #{message} from #{server} (get_body)\n" print "Caught EOFError reading article #{message} from #{server} (get_body)\n"
@ -291,7 +297,8 @@ def get_group_body(subj)
print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1 print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1
print "id: #{@groups[subj]["ids"][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 print "server: #{@groups[subj]["servers"][i]}\n" if Debuglevel > 0
begin resp = false
while resp == false
if @serverlist.include?(@groups[subj]["servers"][i]) if @serverlist.include?(@groups[subj]["servers"][i])
resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i]) resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i])
else else
@ -304,7 +311,6 @@ def get_group_body(subj)
(@groups[subj]["messages"][i] == @groups[subj]["messages"][i+1]) (@groups[subj]["messages"][i] == @groups[subj]["messages"][i+1])
print "Trying next server...\n" print "Trying next server...\n"
i += 1 i += 1
retry
else else
raise TempError, "Message-id not on another server" raise TempError, "Message-id not on another server"
end end
@ -326,7 +332,8 @@ def get_group_body_first(subj)
print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1 print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1
print "id: #{@groups[subj]["ids"][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 print "server: #{@groups[subj]["servers"][0]}\n" if Debuglevel > 0
begin resp = false
while resp == false
resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i]) resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i])
if resp == false if resp == false
print "mess-id i: #{@groups[subj]["messages"][i]}\n" print "mess-id i: #{@groups[subj]["messages"][i]}\n"
@ -335,7 +342,6 @@ def get_group_body_first(subj)
(@groups[subj]["messages"][i] == @groups[subj]["messages"][i+1]) (@groups[subj]["messages"][i] == @groups[subj]["messages"][i+1])
print "Trying next server...\n" print "Trying next server...\n"
i += 1 i += 1
retry
else else
raise TempError, "Message-id not on another server" raise TempError, "Message-id not on another server"
end end
@ -356,7 +362,8 @@ def get_group_body_rest(subj, file=nil)
print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1 print "message id: #{@groups[subj]["messages"][i]}\n" if Debuglevel > 1
print "id: #{@groups[subj]["ids"][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 print "server: #{@groups[subj]["servers"][i]}\n" if Debuglevel > 0
begin resp = false
while resp == false
resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i]) resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i])
if resp == false if resp == false
print "mess-id i: #{@groups[subj]["messages"][i]}\n" print "mess-id i: #{@groups[subj]["messages"][i]}\n"
@ -365,7 +372,6 @@ def get_group_body_rest(subj, file=nil)
(@groups[subj]["messages"][i] == @groups[subj]["messages"][i+1]) (@groups[subj]["messages"][i] == @groups[subj]["messages"][i+1])
print "Trying next server...\n" print "Trying next server...\n"
i += 1 i += 1
retry
else else
raise TempError, "Message-id not on another server" raise TempError, "Message-id not on another server"
end end
@ -753,7 +759,7 @@ def _ydecode_file(file, outfile)
while (! file.eof) while (! file.eof)
print "at #{file.pos} need to go to #{lines}\n" if Debuglevel > 1 print "at #{file.pos} need to go to #{lines}\n" if Debuglevel > 1
line = file.gets line = file.gets
line.chomp! line.chop!
if line =~ /^=yend\s+(.*)\Z/ if line =~ /^=yend\s+(.*)\Z/
m = $1 m = $1
@ -813,14 +819,20 @@ def _ydecode_file(file, outfile)
# end # end
i = 0 i = 0
while i < line.length ll = line.length
if line[i] == '=' ostr = ''
while i < ll
if line[i] == 0x3d
i += 1 i += 1
line[i] -= 64 line[i] -= 64
end end
outfile.putc ymap[line[i]%255] ostr << ((line[i] - 42) % 256)
bytes += 1 # outfile.putc((line[i] - 42) % 256)
# ostr << ymap[line[i]%255]
i += 1
end end
outfile << ostr
bytes += ostr.length
# special = 0 # special = 0
# line.each_byte { |b| # line.each_byte { |b|