diff options
-rw-r--r-- | lib/rbot/utils.rb | 22 |
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) |