syntax fixen & speedups for ydecode (i hope)
This commit is contained in:
parent
6367110c56
commit
3f4bdd189b
1 changed files with 24 additions and 12 deletions
|
|
@ -253,9 +253,15 @@ def get_body(server, message)
|
|||
begin
|
||||
resp, id, messid, list = @connections[server]["nntp"].body(message)
|
||||
rescue Net::NNTPReplyError
|
||||
a = ''
|
||||
a += $!
|
||||
print "Caught Net::NNTPReplyError reading article #{message} from #{server} (get_body)\n"
|
||||
print "Error: #{$!}\n"
|
||||
print "Status: #{$?}\n"
|
||||
if retries == 0 && a =~ /^503/
|
||||
reconnect(server)
|
||||
get_group_info(server)
|
||||
retry
|
||||
end
|
||||
return false
|
||||
rescue EOFError
|
||||
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 "id: #{@groups[subj]["ids"][i]}\n" if Debuglevel > 1
|
||||
print "server: #{@groups[subj]["servers"][i]}\n" if Debuglevel > 0
|
||||
begin
|
||||
resp = false
|
||||
while resp == false
|
||||
if @serverlist.include?(@groups[subj]["servers"][i])
|
||||
resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i])
|
||||
else
|
||||
|
|
@ -304,7 +311,6 @@ def get_group_body(subj)
|
|||
(@groups[subj]["messages"][i] == @groups[subj]["messages"][i+1])
|
||||
print "Trying next server...\n"
|
||||
i += 1
|
||||
retry
|
||||
else
|
||||
raise TempError, "Message-id not on another server"
|
||||
end
|
||||
|
|
@ -326,7 +332,8 @@ def get_group_body_first(subj)
|
|||
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 = false
|
||||
while resp == false
|
||||
resp, id, messid, list = get_body(@groups[subj]["servers"][i], @groups[subj]["messages"][i])
|
||||
if resp == false
|
||||
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])
|
||||
print "Trying next server...\n"
|
||||
i += 1
|
||||
retry
|
||||
else
|
||||
raise TempError, "Message-id not on another server"
|
||||
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 "id: #{@groups[subj]["ids"][i]}\n" if Debuglevel > 1
|
||||
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])
|
||||
if resp == false
|
||||
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])
|
||||
print "Trying next server...\n"
|
||||
i += 1
|
||||
retry
|
||||
else
|
||||
raise TempError, "Message-id not on another server"
|
||||
end
|
||||
|
|
@ -753,7 +759,7 @@ def _ydecode_file(file, outfile)
|
|||
while (! file.eof)
|
||||
print "at #{file.pos} need to go to #{lines}\n" if Debuglevel > 1
|
||||
line = file.gets
|
||||
line.chomp!
|
||||
line.chop!
|
||||
|
||||
if line =~ /^=yend\s+(.*)\Z/
|
||||
m = $1
|
||||
|
|
@ -813,14 +819,20 @@ def _ydecode_file(file, outfile)
|
|||
# end
|
||||
|
||||
i = 0
|
||||
while i < line.length
|
||||
if line[i] == '='
|
||||
ll = line.length
|
||||
ostr = ''
|
||||
while i < ll
|
||||
if line[i] == 0x3d
|
||||
i += 1
|
||||
line[i] -= 64
|
||||
end
|
||||
outfile.putc ymap[line[i]%255]
|
||||
bytes += 1
|
||||
ostr << ((line[i] - 42) % 256)
|
||||
# outfile.putc((line[i] - 42) % 256)
|
||||
# ostr << ymap[line[i]%255]
|
||||
i += 1
|
||||
end
|
||||
outfile << ostr
|
||||
bytes += ostr.length
|
||||
|
||||
# special = 0
|
||||
# line.each_byte { |b|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue