]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/rbotconfig.rb
Add get_cached method to httputil. No need to download the same page over and over...
[user/henk/code/ruby/rbot.git] / lib / rbot / rbotconfig.rb
index 226f687ed9bfe3310241d1cfcf26f72e547ef34d..212df9902eecf05a7fce03c77d5f7e30d31879e3 100644 (file)
@@ -1,22 +1,37 @@
 module Irc
   module Config
     @@datadir = nil
+
+    # first try for the default path to the data dir    
+    defaultdir = File.expand_path(File.dirname($0) + '/../data')
+
+    if File.directory? "#{defaultdir}/rbot"
+      @@datadir = "#{defaultdir}/rbot"
+    end
+    
     # setup pkg-based configuration - i.e. where were we installed to, where
     # are our data files, etc.
-    begin
-      debug "trying to load rubygems"
-      require 'rubygems'
-      debug "loaded rubygems, looking for rbot-#$version"
-      gemname, gem = Gem.source_index.find{|name, spec| spec.name == 'rbot' && spec.version.version == $version}
-      debug "got gem #{gem}"
-      if gem && path = gem.full_gem_path
-        debug "installed via rubygems to #{path}"
-        @@datadir = "#{path}/data/rbot"
-      else
-        debug "not installed via rubygems"
+    if @@datadir.nil?
+      begin
+        debug "trying to load rubygems"
+        require 'rubygems'
+        debug "loaded rubygems, looking for rbot-#$version"
+        if $version =~ /(.*)-svn\Z/
+          version = $1
+        else
+          version = $version
+        end
+        gemname, gem = Gem.source_index.find{|name, spec| spec.name == 'rbot' && spec.version.version == version}
+        debug "got gem #{gem}"
+        if gem && path = gem.full_gem_path
+          debug "installed via rubygems to #{path}"
+          @@datadir = "#{path}/data/rbot"
+        else
+          debug "not installed via rubygems"
+        end
+      rescue LoadError,NameError,NoMethodError
+        debug "no rubygems installed"
       end
-    rescue LoadError,NameError,NoMethodError
-      debug "no rubygems installed"
     end
 
     if @@datadir.nil?
@@ -24,7 +39,7 @@ module Irc
         require 'rbot/pkgconfig'
         @@datadir = PKGConfig::DATADIR
       rescue LoadError
-        puts "fatal - no way to determine data dir"
+        error "fatal - no way to determine data dir"
         exit 2
       end
     end