--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/02/28

xml-rpc 経由での投稿研究

諦めると言ったものの、やはり改行は不便すぎる。投稿した後に <pre> のとこだけブラウザのエディタを使ってちまちま改行の修正をしないといけない。面倒すぎる。

そこでちょっと調べてみることに。

投稿データが通る道

以下の順序。

  1. ファイル(元データ)
  2. grep → シェルスクリプトの変数
  3. gauche の変数
  4. XML 電文
  5. fc2 側

それぞれのデータはどんなもんか

以下の元データで試す。

$ cat data
#foo
bar
baz

grep → シェルスクリプトの変数

a=`grep -v '^#' data`
echo "$a"

bar
baz

問題なし。

gauche の変数

さっきの a をそのまま gauche に渡し、print する。

(define (main args)
  (print (cadr args)))

bar
baz

問題なし。

XML 電文

さっきのやつを XML 電文化して fc2 に渡すわけだけど、その XML 電文ではどうなっているか。xsm のコードにちょいとprint 文を挟んで出力させる。

<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodName>metaWeblog.newPost</methodName>
<params>
<param><value><string>0</string></value></param>
<param><value><string>my_mail_address</string></value></param>
<param><value><string>my_password</string></value></param>
<param><value><struct>
<member>
<name>title</name><value><string>foo</string></value>
</member>
<member>
<name>description</name><value><string>bar
baz</string></value>
</member>
</struct></value></param>
<param><value><boolean>1</boolean></value></param>
</params>
</methodCall>

わかりにくいけど、bar と bazの間にはちゃんと改行が挟まってる。ということはここもOK。ちなみに本当は bar baz の間以外は一切改行がない。記事の体裁のため、手動で改行を加えた。

fc2 側

調べようがない。

やっぱこっちの問題か。どうしようもないなぁ。他に誰か同じようなことやってないのかなぁ。ダメだったらまた乗り換えようかなぁ。。。

2008/02/27

投稿プログラムできた

調べたらなんじゃなかった。下に投稿してる3つの投稿テストはプログラムのもの。面倒だから消さない。

改行のテストがうまくいってないのは、単純に html タグを使ってないから。タグ使えばたぶんうまくいく。ただ、タグをいちいち書くのも面倒なので、その辺は追って機能追加していこう。

スクリプトは gauche で書いた。ただの xmlrpc クライアントでなんの面白みもないプログラムなんだけど、せっかくだから晒す。xmlrpc モジュールはデフォルトのモジュール群にはなく、ネットから探してダウンロードした。感謝感謝。

#!/usr/bin/env gosh
(use rfc.uri)
(use xsm.xml-rpc.client)

(define host "blog.fc2.com")
(define path "/xmlrpc.php")
(define port 80)

(define blog-id "0")
(define user "your_mail_address")
(define pass "your_password")

; make-xml-rpc-client を server に束縛するのは、
; このプログラム自体が server の client になっているため(?)
(define (main args)
  (let ((server (make-xml-rpc-client
                  (uri-compose :scheme "http" :host host
                                 :port port :path path))))
    (call server
          "metaWeblog.newPost"
          blog-id
          user
          pass
          (hash-table 'eq?
                      (cons 'title (title args))
                      (cons 'description (description args)))
          #t)))
(define (title args)
  (cadr args))

(define (description args)
  (caddr args))

hash-table は初めて触った。やっぱあるんだね。

xmlrpc モジュールは、xsm というものを使用した。サンプルは用意されてるし、インストールは簡単だし、ソースも短めだし、かなりお手軽。

これで晴れて、コンソール/vim からブログの投稿ができるってもんです。ヤッター。

参考URL

2008/02/13

にでら解禁

水曜ってことでやってきた。試験勉強やってる某べたなま君を後目に。

解禁された曲とりあえず全部やってきた。Time to Air 穴以外は全部クリアかな?たぶん。大体ハードで埋めた。一曲ノマゲで埋めたっけな。マチコ穴もハードしたけど、正規はちょっとむずいかも。右手は鏡推奨。

穴少年は乱ならクリアできそーな譜面。二重階段の気持ち悪い期待してたけど、むんちゃのラストっぽい皿譜面だった。

あとは色々スコア更新したり、7段とったりとかして終わった。

当分は level 9 のハード埋めと地力上げ、level 10 埋めになりますかね。終わるころには8段とれるんじゃねーかなーと思ってる。

2008/01/31

久しぶりに弐寺のことでも書くか

通勤路(?) にあるタイトーに弐寺が入荷された。

ただこいつが曲者で、毎週水曜だけ100円/play で、他の曜日は今時200円/play なのだ。もううんことしかいいようがない。

それで昨日、水曜っつーことでやってきた。せめてもの救いが、人が少ないことと、筐体が新品なので鍵盤があまり硬くないことである。

昨日はなかなか収穫があった。

最近は専ら地力UP を目的として、 Level9 を埋めることに専念している。効果があるかどうかはわからんけれども、一通りプレイした後にはそこそこ譜面が見えるようになるんじゃねーのと思っている。

収穫というのは、隠しアゴグレッシブハードと、Xepher のノマゲ。

Xepher はこれが初、というわけではないが、久しぶりにクリアできてうれしかった。

隠しアゴグレッシブは間違ってハードで選択したらクリアしちゃったとかいうアレ。とはいっても今までの中では一番いいできだったし、ひとまず満足といったところか。

それから BRIGHTNESS DARKNESS (A) のハード。縦連でちょこちょこミスったくらいで、思ったよりも簡単だった。あと、GREEN EYES (A) が結構安定していることに気づいた。ハードはまだ無理だけど。

Level9 埋めは基本的にノマゲだが、昨日はぽつぽつハードも埋まった。

弐寺は飽きが来なくていいね。

2007/11/10

弐寺

またちょくちょくやり始めた。家庭用オンリー。

で、また NEBULA GRASPER(H) の乱でリハビリ。もはやリハビリゲームか。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。