Hatena::Grouprubyist

Going My Ruby Way このページをアンテナに追加 RSSフィード

Ruby ロゴ (C) Ruby Association LLC

2010年10月29日(金)

Hiki の XML-PRC インターフェイス

| 06:56 |  Hiki の XML-PRC インターフェイス - Going My Ruby Way を含むブックマーク はてなブックマーク -  Hiki の XML-PRC インターフェイス - Going My Ruby Way  Hiki の XML-PRC インターフェイス - Going My Ruby Way のブックマークコメント

HikiXML-PRC インターフェイス。昔使っていたスクリプトです。

Hiki を使わなくなったので現在の版で試してませんが、備忘録として書きます。

(例) wiki-getPage.rb

#!/usr/bin/env ruby
require 'xmlrpc/client'
require 'kconv'

xmlrpc_uri = 'http://www.example.org/wiki/'
page = ARGV.shift || 'FrontPage'

begin
    server = XMLRPC::Client.new2( xmlrpc_uri )
    result = server.call('wiki.getPage', page)
    puts result.toeuc
rescue XMLRPC::FaultException => e
    puts "Error: #{e.faultCode} #{e.faultString}", $@.join("\n")
end

(例) wiki-putPage.rb

#!/usr/bin/env ruby
require 'xmlrpc/client'

xmlrpc_uri = 'http://www.example.org/wiki/'
page = ARGV.shift || raise(ArgumentError, "usage: #{$0} page title [contents]")
title = ARGV.shift || raise(ArgumentError, "usage: #{$0} page title [contents]")

contents = ARGV.shift || $stdin.read

begin
          server = XMLRPC::Client.new2( xmlrpc_uri )
          server.call('wiki.putPage', page, contents, {'title' => title})
rescue XMLRPC::FaultException => e
          puts "Error: #{e.faultCode} #{e.faultString}", $@.join("\n")
end