From: Masatoshi SEKI Date: 1998-12-29T17:54:53+09:00 Subject: [ruby-list:11483] ftpmirror-1.1 ----Next_Part(Tue_Dec_29_17:54:28_1998_893)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 自分のWebページを久しぶりに更新 (rubyを追加!) したので、 ftpmirror-1.1を使ってページのputに挑戦しました。 ftpのLISTの結果から更新日を抽出する部分が 半年以前のファイルの日付の形式に対応していないようでした。 たとえば、 -rw-rw-r-- 1 seki homepage 1987 Dec 19 17:42 index.html -rw-rw-r-- 1 seki homepage 1020 Jun 9 1997 too_old.html 上の場合、too_old.html の日付が認識されず、 エラーで止まってしまうようです。 で、そのパッチです。 正しいでしょうか? -- 咳 http://www2a.biglobe.ne.jp/%7Eseki/ruby/ ----Next_Part(Tue_Dec_29_17:54:28_1998_893)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=ftpmirror.patch Index: ftpmirror/ftpmirror diff -c ftpmirror/ftpmirror:1.1.1.1 ftpmirror/ftpmirror:1.1.1.1.2.1 *** ftpmirror/ftpmirror:1.1.1.1 Fri Dec 25 00:22:48 1998 --- ftpmirror/ftpmirror Tue Dec 29 16:54:55 1998 *************** *** 73,87 **** else line =~ /\S+$/ filename = $& ! line =~ /[A-Z][a-z][a-z] +\d+ \d\d:\d\d/ ! time = Time.mktime(Time.now.year, ! $&[0, 3], $&[4, 2], ! $&[7, 2], $&[10, 2]) ! if time > Time.now ! time = Time.mktime(Time.now.year - 1, ! $&[0, 3], $&[4, 2], ! $&[7, 2], $&[10, 2]) ! end remote_filetimes[filename] = time end end --- 73,90 ---- else line =~ /\S+$/ filename = $& ! if line =~ /[A-Z][a-z][a-z] +\d+ \d\d:\d\d/ ! time = Time.mktime(Time.now.year, ! $&[0, 3], $&[4, 2], ! $&[7, 2], $&[10, 2]) ! if time > Time.now ! time = Time.mktime(Time.now.year - 1, ! $&[0, 3], $&[4, 2], ! $&[7, 2], $&[10, 2]) ! end ! elsif line =~ /([A-Z][a-z][a-z]) +(\d+) (\d\d\d\d)/ ! time = Time.mktime($3, $1, $2) ! end remote_filetimes[filename] = time end end ----Next_Part(Tue_Dec_29_17:54:28_1998_893)----