OSDN Git Service

* Debugged History.
authorbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Tue, 25 Nov 2008 03:41:46 +0000 (03:41 +0000)
committerbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Tue, 25 Nov 2008 03:41:46 +0000 (03:41 +0000)
* Debugged the command line for History.
* log_info() is an alias to log_message().

shogi-server
shogi_server/game.rb
shogi_server/league/floodgate.rb

index 07e42a6..049c45f 100755 (executable)
@@ -83,6 +83,9 @@ end
 def log_message(str)
   $logger.info(str)
 end
+def log_info(str)
+  log_message(str)
+end
 
 def log_warning(str)
   $logger.warn(str)
@@ -96,9 +99,10 @@ end
 def parse_command_line
   options = Hash::new
   parser = GetoptLong.new(
-    ["--daemon",   GetoptLong::REQUIRED_ARGUMENT],
-    ["--pid-file", GetoptLong::REQUIRED_ARGUMENT],
-    ["--player-log-dir", GetoptLong::REQUIRED_ARGUMENT])
+    ["--daemon",            GetoptLong::REQUIRED_ARGUMENT],
+    ["--pid-file",          GetoptLong::REQUIRED_ARGUMENT],
+    ["--player-log-dir",    GetoptLong::REQUIRED_ARGUMENT],
+    ["--floodgate-history", GetoptLong::REQUIRED_ARGUMENT])
   parser.quiet = true
   begin
     parser.each_option do |name, arg|
@@ -212,7 +216,7 @@ def setup_floodgate
           ShogiServer.reload
         end
         floodgate = ShogiServer::League::Floodgate.new(LEAGUE, next_time)
-        log_message("Floodgate will start the next match at %s." % 
+        log_message("Floodgate: The next match will start at %s." % 
                     [floodgate.next_time])
       rescue Exception => ex 
         # ignore errors
@@ -280,6 +284,7 @@ def main
     end
   end
 
+  srand
   server = WEBrick::GenericServer.new(config)
   ["INT", "TERM"].each do |signal| 
     trap(signal) do
@@ -329,6 +334,10 @@ if ($0 == __FILE__)
     LEAGUE = ShogiServer::League.new(TOP_DIR)
     main
   rescue Exception => ex
-    log_error("main: #{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}")
+    if $logger
+      log_error("main: #{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}")
+    else
+      $stderr.puts "main: #{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}"
+    end
   end
 end
index d266eb0..84e17ca 100644 (file)
@@ -70,11 +70,11 @@ class GameResult
   def regist_observers
     add_observer MonitorObserver.new
 
-    if League::Floodgate.game_name?(@game.game_id) &&
+    if League::Floodgate.game_name?(@game.game_name) &&
        @game.sente.player_id &&
        @game.gote.player_id &&
        $options["floodgate-history"]
-      add_observer History.factory
+      add_observer League::Floodgate::History.factory
     end
   end
 
index f568e56..f0c18e4 100644 (file)
@@ -7,8 +7,10 @@ module ShogiServer
 class League
   class Floodgate
     class << self
+      # "floodgate-900-0"
+      #
       def game_name?(str)
-        return /^floodgate-\d+-\d+$/.match(str) ? true : false
+        return /^floodgate\-\d+\-\d$/.match(str) ? true : false
       end
     end
 
@@ -57,7 +59,9 @@ class League
       class << self
         def factory
           file = Pathname.new $options["floodgate-history"]
-          return History.new file
+          history = History.new file
+          history.load
+          return history
         end
       end