rare tekens beter opvangen

This commit is contained in:
Ward Wouts 2005-08-02 20:34:59 +00:00
parent 34fcd4fe53
commit ebef3d8649

View file

@ -82,7 +82,13 @@ Debuglevel = 0
def save_file(dir, name, data)
print "savename: #{name}\n" if Debuglevel > 1
nname = name.gsub(/\//, "-")
nname.gsub!(/>/, "")
nname.gsub!(/</, "")
nname.gsub!(/©/, "(c)")
nname.gsub!(/®/, "(r)")
nname.sub!(/\s*$/, "")
nname.sub!(/^[\s\.-]*/, "")
print "nname: #{nname}\n" if Debuglevel > 1
@ -96,23 +102,16 @@ def save_file(dir, name, data)
end
print "name: #{newname}\n" if Debuglevel > 1
case data.class.to_s
when "String"
begin
begin
case data.class.to_s
when "String"
if File.move(data, "#{dir}/#{newname}")
print " Saving as: '#{newname}'\n"
else
print "couldn't rename tempfile\n"
return false
end
rescue Errno::ENOENT
print "Caught Errno::ENOENT (save_file)\n"
print "Error: #{$!}\n"
print "What the *beep* happened?\n"
return false
end
when "Array"
begin
when "Array"
if file = File.new("#{dir}/#{newname}", "w", 0644)
print " Saving as: '#{newname}'\n"
data.collect{|i| file.print "#{i}"}
@ -120,29 +119,23 @@ def save_file(dir, name, data)
print "couldn't open file for writeing\n"
return false
end
rescue Errno::EINVAL
print "Caught Errno::EINVAL (save_file)\n"
print "Error: #{$!}\n"
print "What the *beep* happened?\n"
return false
end
when "Tempfile"
begin
when "Tempfile"
if File.move(data.path, "#{dir}/#{newname}")
print " Saving as: '#{newname}'\n"
else
print "couldn't rename tempfile\n"
return false
end
rescue Errno::ENOENT
print "Caught Errno::ENOENT (save_file)\n"
print "Error: #{$!}\n"
print "What the *beep* happened?\n"
else
print "EEEEPS Can't save data of class: #{data.class.to_s}\n"
return false
end
else
print "EEEEPS Can't save data of class: #{data.class.to_s}\n"
return false
end
rescue Errno::ENOENT, Errno::EINVAL
print "Caught #{$!.class} (save_file)\n"
print "Error: #{$!}\n"
print "What the *beep* happened?\n"
print "(if Errno::EINVAL probably evil chars in filename)\n"
return false
end
return true
end