X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Frbot%2Fauth.rb;h=04e1e98b001a80fbd5f60b91ec67576c848f3063;hb=0d7772ca24e6683f3e2c43f6d5dae709d6d7b16b;hp=3fbf4b697b4dbf4a7dec3afad67b80c8eca1d5cb;hpb=b756b6655d94e3aedecb25c54ca27ab64f68b7f6;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/lib/rbot/auth.rb b/lib/rbot/auth.rb index 3fbf4b69..04e1e98b 100644 --- a/lib/rbot/auth.rb +++ b/lib/rbot/auth.rb @@ -60,13 +60,33 @@ module Irc # users are written to #{botclass}/users.yaml def save Dir.mkdir("#{@bot.botclass}") if(!File.exist?("#{@bot.botclass}")) - File.open("#{@bot.botclass}/users.yaml", 'w') do |file| - file.puts @users.to_yaml + begin + debug "Writing new users.yaml ..." + File.open("#{@bot.botclass}/users.yaml.new", 'w') do |file| + file.puts @users.to_yaml + end + debug "Officializing users.yaml ..." + File.rename("#{@bot.botclass}/users.yaml.new", + "#{@bot.botclass}/users.yaml") + rescue + $stderr.puts "failed to write configuration file users.yaml! #{$!}" + debug "#{e.class}: #{e}" + debug e.backtrace.join("\n") end - File.open("#{@bot.botclass}/levels.rbot", 'w') do |file| - @levels.each do |key, value| - file.puts "#{value} #{key}" + begin + debug "Writing new levels.rbot ..." + File.open("#{@bot.botclass}/levels.rbot.new", 'w') do |file| + @levels.each do |key, value| + file.puts "#{value} #{key}" + end end + debug "Officializing levels.rbot ..." + File.rename("#{@bot.botclass}/levels.rbot.new", + "#{@bot.botclass}/levels.rbot") + rescue + $stderr.puts "failed to write configuration file levels.rbot! #{$!}" + debug "#{e.class}: #{e}" + debug e.backtrace.join("\n") end end