]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
Safe-save tempfiles are now created in a botclass-local directory, because atomic...
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Sun, 15 Oct 2006 21:09:43 +0000 (21:09 +0000)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Sun, 15 Oct 2006 21:09:43 +0000 (21:09 +0000)
lib/rbot/ircbot.rb
lib/rbot/utils.rb

index ac7aa8291ca372a9fe4b8db26f46312688134126..8249895b48f294af561c662811f90d0ece9175ce 100644 (file)
@@ -266,6 +266,8 @@ class IrcBot
 
     Dir.mkdir("#{botclass}/logs") unless File.exist?("#{botclass}/logs")
     Dir.mkdir("#{botclass}/registry") unless File.exist?("#{botclass}/registry")
+    Dir.mkdir("#{botclass}/safe_save") unless File.exist?("#{botclass}/safe_save")
+    Utils.set_safe_save_dir("#{botclass}/safe_save")
 
     @ping_timer = nil
     @pong_timer = nil
index ae45e5d5af75264e1a726de31f5799052dc74a72..d1052390a91e206787862a3951cd6fdac7c5c20f 100644 (file)
@@ -320,9 +320,15 @@ module Irc
     end
 
 
+    @@safe_save_dir = nil
+    def Utils.set_safe_save_dir(str)
+      @@safe_save_dir = str.dup
+    end
+
     def Utils.safe_save(file)
+      raise 'No safe save directory defined!' if @@safe_save_dir.nil?
       basename = File.basename(file)
-      temp = Tempfile.new(basename)
+      temp = Tempfile.new(basename,@@safe_save_dir)
       temp.binmode
       yield temp if block_given?
       temp.close