OSDN Git Service

* [mk_rate]
authorbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Sun, 28 Dec 2008 15:10:10 +0000 (15:10 +0000)
committerbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Sun, 28 Dec 2008 15:10:10 +0000 (15:10 +0000)
  - File names can be put into STDIN instead of specifying directory
    names in command line arguments.
* [csa-file-filter]
  - New file. It filters kifu files and is of use for a pre-filter
    of mk_rate.

Makefile
changelog
mk_rate

index 31a995f..fc0e928 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
 .PHONY: doc
 doc: clean
        rdoc --main README -o doc \
-         . shogi-server README mk_html mk_rate
+         . shogi-server README mk_html mk_rate csa-file-filter
 
 .PHONY: clean
 clean:
index a9b2095..76e0c69 100644 (file)
--- a/changelog
+++ b/changelog
@@ -3,8 +3,13 @@
        * [mk_rate]
          - Check kifu files more carefully so that files that contain
            incomplete records are skipped.
-         -  mk_rate might have failed to alloc due to out of memory. Now it
-            consumes less memory (about 200MB instead of 2GB).
+         - mk_rate might have failed to alloc due to out of memory. Now it
+           consumes less memory (about 200MB instead of 2GB).
+         - File names can be put into STDIN instead of specifying directory
+           names in command line arguments.
+       * [csa-file-filter]
+         - New file. It filters kifu files and is of use for a pre-filter
+           of mk_rate.
 
 2008-12-13 Daigo Moriwaki <daigo at debian dot org>
 
diff --git a/mk_rate b/mk_rate
index 568c4f4..dff3977 100755 (executable)
--- a/mk_rate
+++ b/mk_rate
@@ -726,8 +726,15 @@ def main
   $options["half-life-ignore"] = $options["half-life-ignore"].to_i
   $options["fixed-rate"] = $options["fixed-rate"].to_i if $options["fixed-rate"]
 
-  while dir = ARGV.shift do
-    Dir.glob( File.join(dir, "**", "*.csa") ) {|f| grep(f)}
+  if ARGV.empty?
+    while line = $stdin.gets do
+      next unless %r!.*\.csa$! =~ line
+      grep line.strip
+    end
+  else
+    while dir = ARGV.shift do
+      Dir.glob( File.join(dir, "**", "*.csa") ) {|f| grep(f)}
+    end
   end
 
   yaml = {}