X-Git-Url: http://git.sourceforge.jp/view?p=shogi-server%2Fshogi-server.git;a=blobdiff_plain;f=mk_html;h=e472670d7f4e327b1a4b55c864051a053293605b;hp=0d9423f6500eebcea8c90cb63cc2c601042e1b1c;hb=13a823aebe192a11f1feaad5bb0600d2b637c32a;hpb=ae2a87ce70e8268636858ebd6c083f61f7683bf6 diff --git a/mk_html b/mk_html index 0d9423f..e472670 100755 --- a/mk_html +++ b/mk_html @@ -1,9 +1,11 @@ -#!/usr/bin/ruby +#!/usr/bin/ruby1.9.1 # $Id$ # -# = Copyright +# Author:: Daigo Moriwaki +# Homepage:: http://sourceforge.jp/projects/shogi-server/ # -# Copyright (C) 2006-2008 Daigo Moriwaki +#-- +# Copyright (C) 2006-2012 Daigo Moriwaki # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,38 +20,55 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#++ # -# = Synopsis +# == Synopsis # -# mk_html generates an html page from players.yaml. +# mk_html generates an html page from a players.yaml. # -# = Usage +# == Usage # -# ./mk_html [OPTION] < players.yaml > rating.html +# ./mk_html [OPTION] < players.yaml > rating.html # -# -h, --help:: +# [-h, --help] # show help # -# -w,--wdoor:: +# [-w,--wdoor] # adpot wdoor style # +# [--footer filename] +# insert contents in the filename at the bottom of a genrated page. +# +# == Prerequire +# +# * Ruby 1.9.3 or 1.8.7 +# +# $ sudo aptitude install ruby ruby1.9.1 +# +# == Example +# +# $ ./mk_html --footer ./wdoor_1000.html < players.yaml > players.html +# +# $ cat ./wdoor-1000.html +#

The average of the rates in a group is always 1000. +#

BACK +# require 'optparse' -require 'rdoc/usage' require 'yaml' require 'erb' include ERB::Util def show_date(time) - time.strftime("%Y-%m-%d") -end - -def usage - $stderr.puts <<-EOF -USAGE: #{$0} - EOF - exit 1 + if (Time.now - time < 30*60) + return "on line" + elsif (Time.now - time < 24*60*60) + return time.strftime("%Y-%m-%d") + # return "%d hours ago" % [(Time.now - time)/3600] + else + return time.strftime("%Y-%m-%d") + end end def remove_long_to_see_players(file) @@ -62,10 +81,27 @@ end def main $wdoor = false + $footer_content = nil opts = OptionParser.new - opts.on("-h", "--help"){ RDoc::usage(0, 'Synopsis', 'Usage') } - opts.on("-w","--wdoor") { $wdoor=true } - opts.parse(ARGV) rescue RDoc::usage(1, 'Synopsis', 'Usage') + opts.banner = "Usage: mk_html [OPTIONS]" + opts.on("--footer filename", String, "Insert contents of the filename at the bottom of a genrated page") do |filename| + unless File.exist?(filename) + $stderr.puts "File not found: %s" % [filename] + raise + end + $footer_content = File.open(filename).read + end + opts.on("-w","--wdoor", "adopt a wdoor style") { $wdoor=true } + opts.on_tail("-h", "--help", "show this message") do + puts opts + exit + end + begin + opts.parse(ARGV) + rescue + puts opts + exit -1 + end lines = "" while l = $stdin.gets do @@ -118,9 +154,10 @@ def main player_decoration = "default" - case (Time.now - last_modified)/(60*60*24) - when (0..1) then player_decoration = "today" - when (0..7) then player_decoration = "this_week" + case (Time.now - last_modified)/60 # minutes + when (0..30) then player_decoration = "current" + when (0..(1*60*24)) then player_decoration = "today" + when (0..(7*60*24)) then player_decoration = "this_week" end case key @@ -135,7 +172,7 @@ def main %> - <%= h yaml[key]['name'] %> + <%= h yaml[key]['name'] %>