summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rbot/utils.rb22
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/rbot/utils.rb b/lib/rbot/utils.rb
index eabe5c17..ae45e5d5 100644
--- a/lib/rbot/utils.rb
+++ b/lib/rbot/utils.rb
@@ -1,10 +1,14 @@
require 'net/http'
require 'uri'
+require 'tempfile'
+
begin
$we_have_html_entities_decoder = require 'htmlentities'
rescue LoadError
$we_have_html_entities_decoder = false
- UNESCAPE_TABLE = {
+ module Irc
+ module Utils
+ UNESCAPE_TABLE = {
'raquo' => '>>',
'quot' => '"',
'apos' => '\'',
@@ -268,9 +272,12 @@ rescue LoadError
'sigma' => 'σ',
'oacute' => '\xf3',
=end
- }
+ }
+ end
+ end
end
+
module Irc
# miscellaneous useful functions
@@ -312,6 +319,17 @@ module Irc
}
end
+
+ def Utils.safe_save(file)
+ basename = File.basename(file)
+ temp = Tempfile.new(basename)
+ temp.binmode
+ yield temp if block_given?
+ temp.close
+ File.rename(temp.path, file)
+ end
+
+
# returns a string containing the result of an HTTP GET on the uri
def Utils.http_get(uristr, readtimeout=8, opentimeout=4)