[#11952] NORETURN — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

24 messages 2001/01/10
[#11956] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11957] Re: NORETURN — matz@... (Yukihiro Matsumoto) 2001/01/10

まつもと ゆきひろです

[#11958] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11959] CVS branches (Re: Re: NORETURN) — matz@... (Yukihiro Matsumoto) 2001/01/10

[#12087] string#index, gsub, []= のバグ? — Beyond <beyond@...>

18 messages 2001/01/27
[#12091] Re: string#index, gsub, []= のバグ? — matz@... (Yukihiro Matsumoto) 2001/01/27

まつもと ゆきひろです

[ruby-dev:12029] Re: Wiki + CVS (was Re: RWiki + CVS)

From: Masatoshi SEKI <m_seki@...>
Date: 2001-01-15 17:39:57 UTC
List: ruby-dev #12029
咳です。

> そうか、 anoncvssh は chroot するだけだから dRuby サーバとお話
> できるんですね。(jail じゃないからしょうがない。。)
> 
>  rw-mail.rb を参考にして作ってみようと思ったんですが、そもそも
> rw-mail.rb の仕様がよくわからずお手上げでした。

おお。作業をはじめられていたのですね。

rw-drb.rbはどうでしょう。スクリプト中で rwiki が参照している
オブジェクトは、rwiki.rb の Front です。

各ページの内容は次のように変更します。

  page = rwiki.page['なまえ']        # ページを取り出す
  page.src = "RDの内容...."          # RDな内容をセット


>  更新されたファイルのリストを受け取り、それらを dRuby 経由で
> RWiki にセットする、という部分をどなたか書いていただけない
> でしょうか。。

(現在のバージョンのRWikiでは)
ページの名前をファイル名に変換するのは次の方法です。
    private
    def escape(str)
      str.gsub(/([^a-zA-Z0-9_-])/n){ sprintf("%%%02X", $1.unpack("C")[0]) }
    end
逆変換できるかなぁ。できたとすると…

---------------
def unescape(str) 
  # ファイル名→ページ名にする
end

def cvs_update_p(fname)
  # return `cvs update -p $fname` 相当なことをする。必要ない??
  # どっかの作業コピーを update してファイルを読んでもよいのかな ??
end

def main(list)
  DRb.start_service()
  rwiki = DRbObject.new(nil, 'druby://hostname:12345')

  list.each do |fname|
    name = unescape(fname)
    rd = cvs_update_p(fname)
    page = rwiki.page[name]
    page.src = rd
  end
end

if __FILE__ == $0
  main(ARGV) # ??
end

In This Thread

Prev Next