comparison after5.rb @ 72:6a0c2f85faa3 draft

Canonicalize arguments for isHoliday(), which will be sent to Time.mktime().
author HIROSE Yuuji <yuuji@gentei.org>
date Thu, 29 Nov 2012 10:21:21 +0900
parents 156f315f52b8
children 8b8cb30b78fa
comparison
equal deleted inserted replaced
71:156f315f52b8 72:6a0c2f85faa3
2 # -*- coding: euc-jp -*- 2 # -*- coding: euc-jp -*-
3 # 3 #
4 # Associative Scheduling Table - after5 4 # Associative Scheduling Table - after5
5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org] 5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org]
6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $ 6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $
7 # Last modified Thu Jul 26 19:24:15 2012 on firestorm 7 # Last modified Thu Nov 29 10:17:51 2012 on firestorm
8 # See http://www.gentei.org/~yuuji/software/after5/ 8 # See http://www.gentei.org/~yuuji/software/after5/
9 # このスクリプトはEUCで保存してください。 9 # このスクリプトはEUCで保存してください。
10 $hgid = <<_HGID_.split[1..-2].join(" ") 10 $hgid = <<_HGID_.split[1..-2].join(" ")
11 $HGid$ 11 $HGid$
12 _HGID_ 12 _HGID_
832 user = @groupmap.keys.grep(user)[0] 832 user = @groupmap.keys.grep(user)[0]
833 else 833 else
834 user = @usermap.keys.grep(user)[0] 834 user = @usermap.keys.grep(user)[0]
835 end 835 end
836 next unless user 836 next unless user
837 ud = File.join(dd, user) 837 ud = File.join(dd, user).untaint
838 next unless test(?d, ud) 838 next unless test(?d, ud)
839 ntl[user] = {} 839 ntl[user] = {}
840 Dir.foreach(ud){|date| 840 Dir.foreach(ud){|date|
841 next if /^\./ =~ date 841 next if /^\./ =~ date
842 unless /(\d\d\d\d+)-(\d+)-(\d+)-(\d\d\d\d)/ =~ date 842 unless /(\d\d\d\d+)-(\d+)-(\d+)-(\d\d\d\d)/ =~ date
1845 # create day table 1845 # create day table
1846 column = start 1846 column = start
1847 ## p day, last 1847 ## p day, last
1848 while column <= last 1848 while column <= last
1849 @O.print @H.elementln("tr", nil){ 1849 @O.print @H.elementln("tr", nil){
1850 sunday = first + (column-1)*3600
1850 (column..column+6).collect{|d| 1851 (column..column+6).collect{|d|
1851 todayp = (day.year==todayy && day.month==todaym && d==todayd) 1852 todayp = (day.year==todayy && day.month==todaym && d==todayd)
1852 wd=d-column 1853 wd=d-column
1853 hd = holiday.isHoliday(day.year, day.month, d, wd) 1854 thisday = sunday+3600*wd
1855 hd = holiday.isHoliday(thisday.year, thisday.month, thisday.day, wd)
1854 tdclass['class'] = (hd ? 'holiday' : wname[wd]) 1856 tdclass['class'] = (hd ? 'holiday' : wname[wd])
1855 @H.element("td", tdclass){ 1857 @H.element("td", tdclass){
1856 if d>0 1858 if d>0
1857 thisday = first+(d-1)*3600*24 1859 thisday = first+(d-1)*3600*24
1858 #date = "%d/%d/%d"%[day.year, day.month, d] 1860 #date = "%d/%d/%d"%[day.year, day.month, d]

yatex.org