[#12443] Re: Tiny eRuby — Masatoshi SEKI <m_seki@...>
青山です。
[#12537] cygwin 版 ruby の $LOAD_PATH(Meeting2000 v0.92 にて ) — Yukihiko Eda <yuki-e@...>
江田ぱいちです。
[#12543] Ruby Conference 0.3 — greentea@...2.so-net.ne.jp (Tomoyuki Kosimizu)
こんにちは、こしみずです。
まつもと ゆきひろです
> | >18日あたり東京でRuby Conference 0.3(単なる宴会)を開きましょうか?
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#12546] [閑話] Ruby Conference 0.3 参加したいぃ — Atsuko Yoshida <atsuko@...>
こんにちは。あつこです。
松尾です。
さくです。
[#12573] alternative name of iterator — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
moochan です.
まつもと ゆきひろです
moochan です.
まつもと ゆきひろです
moochan です.
まつもと ゆきひろです
moochan です.
まつもと ゆきひろです
前田です。
前田です。
わたなべです.
[#12590] kconv SJIS — Kikutani Makoto <kikutani@...>
=?ISO-2022-JP?B? ではじまるBエンコードされたサブジェクトは
Regard to "[ruby-list:12590] kconv SJIS"
On Sat, 6 Mar 1999 15:49:39 +0900,
[#12623] Ruby 1.2.3 FreeBSD port — Yasuhiro Fukuma <yasuf@...>
福間@福岡 です。
[#12635] RE:UNIX USER 4/1999 — "Kozuka Masahiro" <kozuka@...>
こづかまさひろ@たきこうこうです。
[#12695] 第 2 回 OMG 分散コンピューティング・セミナー: CORBA3.0 の詳説と CORBA 活用の実際 — Junichi Suzuki <jun-sk@...>
各位.
前田です。
まつもと ゆきひろです
[#12707] Re: operater bind order ? — Inaba Hiroto <inaba@...>
稲葉です.
まつもと ゆきひろです
原です。
[#12727] Making of Interval class. — moochan <moochan@...>
moochan です.
昨日はRuby初心者でしたが、今日は超初心者の遠藤です。
moochan です.
前田です。
moochan です.
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
[#12728] Time + 1M — Wakou Aoyama <wakou@...>
青山です。
ふなばです。
五十嵐です。
ふなばです。
五十嵐です。
ふなばです。
まつもと ゆきひろです
ふなばです。
五十嵐です。
ふなばです。
[#12743] ftpmirror — Shugo Maeda <shugo@...>
前田です。
[#12756] Re: Making of Interval class. — moochan <moochan@...>
moochan です.
[#12827] ruby/tk for win32 — oshima@... (Mitsuru Oshima)
[#12835] XML developper day — Takaaki Higuchi - Technology Marketing <Takaaki.Higuchi@...>
なぜか参加してきましたので簡単に報告します。
[#12850] Ruby Conference 0.3 where ? when ? — ISII takesi <isii@...>
石井です。
まつもと ゆきひろです
松尾です。
まつもと ゆきひろです
松尾です。
まつもと ゆきひろです
松尾です。
まつもと ゆきひろです
なひです.
まつもと ゆきひろです
なひです.
まつもと ゆきひろです
なひです.
まつもと ゆきひろです
なひです.
なひです.
In message <36F0BAF925.577F.anakamur@exa.i-tech.co.jp>
In message <36F0F32B3.5781.anakamur@exa.i-tech.co.jp>
なひです.
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
ごとけんです
原です。
ごとけんです
原です。
さくです。
なひです.
なひです.
なひです.
なひです.Ruby Conference #0.3以降ほったらかしてしまいました...
なひです.
わたなべです.
[#12876] Re: win32ole — 助田 雅紀 <masaki.suketa@...>
助田です.
[#12916] Thanks 出沢さん (mime.rb) — kikutani@...
快調です。ありがとうございました。
From: kikutani@sprintmail.com
出沢です
[#12918] Sieve of Eratosthenes (Re: [ruby-dev:6094]) — Shin-ichiro Hara <sinara@...>
原です。
原です。
原です。
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
まつもと ゆきひろです
[#12961] OS/2 support — OKUNISHI Fujikazu <fuji0924@...>
お初になります、奥西と申します。
[#12963] seqcmp.rb — sekita-n@... (Sekitani Nobutaka)
関谷@電通大です。
[#12967] profiler — "Kikutani, Makoto" <kikutani@...>
fj.comp.lang.ruby ではかわされてしまった気がする(^^)。
[#13000] Tiny eRuby — Masatoshi SEKI <m_seki@...>
[#13024] — Ryo HAYASAKA <hayasaka@...>
Subject weakref.rb exception (Re: HORB for Ruby?)
[#13063] Ruby Session in LinuxWorld Conference Japan — greentea@...2.so-net.ne.jp (Tomoyuki Kosimizu)
こんにちは、越水です。
[#13091] FAQ for /:|) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
なひです.
[#13121] 全角文字列の分割方法について — goto@...
初めまして、後藤@横河工事(橋梁技術者)です。
まつもと ゆきひろです
後藤@横河工事(橋梁技術者)です。お世話になります。
まつもと ゆきひろです
[#13134] ロックでアドバイスをいただきたいのですが — Keisuke Minami <keisuke@...>
はじめまして。三並と申します。
松尾です。
前田です。
[#13140] Ruby Conference 0.3 — hisanori@...
松尾です。
なひです.
福間%環境復旧中@福岡 です。
なひです.
なひです.僕は馬鹿だ...
ごとけんです
松尾です。
[#13162] Copy array (Re: 全角文字列の分割方法について) — Inaba Hiroto <inaba@...>
稲葉です.
[#13227] blade was down — Shin-ichiro Hara <sinara@...>
原です。
[#13246] smtp でメール発送用クラス — (Dezawa Shin-ichiro) <dezawa@...>
出沢です
[#13254] hash + — Kikutani Makoto <kikutani@...>
前にもこの話題はあった気がするけど...
[ruby-list:12715] ftpmirror 改
民斗です。
私は ftpmirror を次のように変更して使ってます。
全部とはいいませんが、いくつか取り込みません? > 前田さん(かな?)
・引数で指定することで、転送対象のディレクトリまたはファイルを指定できる。
(一部のディレクトリ、ファイルだけを転送可能)
・ディレクトリを再帰しないオプション -l
・コンフィグレーションファイルは -f オプションで指定する。
・TEXTFILE_EXT に nil を指定した場合は全部バイナリモードで転送する。
・ディレクトリでも IGNORE_FILE_REGEXP にマッチしたら無視する。
・ファイルの日付の比較は ctime ではなく mtime で行う。(ローカルファイル
の日付を意図的に変更して、転送を制御できるようにするため)
・リモート側にシンボリックリンクがあった時のために、ftp.list 時に -lL フ
ラグを指定する。(こんなやり方でいいのか一抹の不安が…(^^;)
どんなもんでしょう?
--
民斗 <tommy@valley.ne.jp>
--- /tmp/ftpmirror/ftpmirror Thu Jan 7 13:41:10 1999
+++ ./ftpmirror Wed Mar 10 13:29:58 1999
@@ -1,3 +1,3 @@
-#!/usr/bin/ruby
+#!/usr/local/bin/ruby
## ftpmirror version 1.2.1
@@ -5,4 +5,5 @@
require "ftplib"
+require "getopts"
class FTPMirror
@@ -17,5 +18,5 @@
end
- def initialize(config_file)
+ def initialize(config_file, not_recursive)
load(config_file)
check_config("Config")
@@ -26,6 +27,10 @@
check_config("Config::LOCAL_DIR")
if defined? Config::TEXTFILE_EXT
- @textfile_regexp =
- Regexp.new("\\.(" + Config::TEXTFILE_EXT.join("|") + ")$")
+ if Config::TEXTFILE_EXT
+ @textfile_regexp =
+ Regexp.new("\\.(" + Config::TEXTFILE_EXT.join("|") + ")$")
+ else
+ @textfile_regexp = nil
+ end
else
@textfile_regexp = /\.(txt|html|shtml)$/
@@ -41,4 +46,5 @@
@leave_file_regexp = nil
end
+ @not_recursive = not_recursive
end
@@ -49,5 +55,5 @@
end
- def start
+ def start(path)
begin
@ftp = FTP.new
@@ -59,5 +65,11 @@
@ftp.chdir(Config::REMOTE_DIR)
Dir.chdir(File.expand_path(Config::LOCAL_DIR))
- updatedir(".")
+ if path.empty?
+ update(".")
+ else
+ path.each do |p|
+ update(p)
+ end
+ end
ensure
@ftp.quit
@@ -68,4 +80,23 @@
end
+ def update(path)
+ if path =~ /^\//
+ $stderr.print "#{path}: assumed .#{path}\n"
+ $stderr.flush
+ path[0,1] = ""
+ end
+ path[0,0] = "./" if path != "."
+ if not FileTest.exist? path
+ $stderr.print "#{path}: not found\n"
+ $stderr.flush
+ return
+ end
+ if FileTest.directory? path
+ updatedir(path)
+ else
+ updatefile(path)
+ end
+ end
+
def updatedir(directory)
print directory.sub(/^./, Config::REMOTE_DIR), ":\n"
@@ -77,12 +108,15 @@
if file != "." && file != ".."
if File.ftype(longname) == "directory"
+ if longname =~ @ignore_file_regexp
+ next
+ end
unless remote_dirs.include?(file)
makedir(longname)
end
- updatedir(longname)
+ updatedir(longname) unless @not_recursive
else
if not longname =~ @ignore_file_regexp and
(not remote_filetimes.has_key?(file) or
- remote_filetimes[file] < File.ctime(longname))
+ remote_filetimes[file] < File.mtime(longname))
updatefile(longname)
end
@@ -101,5 +135,5 @@
def check_remote_files(directory, dirs, filetimes)
- @ftp.list(directory) do |line|
+ @ftp.list("-lL "+directory) do |line|
unless line =~ /^total/
if line[0] == ?d
@@ -168,13 +202,13 @@
end
-if ARGV.length == 0
- config_file = File.expand_path("~/.ftpmirror")
-elsif ARGV[0] == "--version"
+if not getopts("l", "f:~/.ftpmirror", "version")
+ usage()
+end
+
+if $OPT_version
FTPMirror.print_version
exit
-else
- config_file = ARGV.shift
end
-ftpmirror = FTPMirror.new(config_file)
-ftpmirror.start
+ftpmirror = FTPMirror.new(File.expand_path($OPT_f), $OPT_l)
+ftpmirror.start ARGV