Hatena::Groupraru

教えてなでしこ

2010-05-24

[]なでしこはてなフォトライフアップローダ17:25 はてなブックマーク - なでしこではてなフォトライフアップローダー - 教えてなでしこ

#はてなフォトライアップローダー
!変数宣言が必要
#変数宣言
userとは文字列
passとは整数
APIとは文字列
リクエストとは文字列
タイトルとは文字列
結果とは文字列
HEADとは文字列
リンクとは文字列
フォトリンクとは文字列
#設定
userは「」
passは「」
母艦設計
●母艦設計 
    母艦の可視はオフ
    母艦のタイトル=「はてなフォトライフアップローダー」
    母艦のWは400
    母艦のHは300
    母艦の可視はオン
#GUI
ログメモとはメモ。
そのレイアウトは「全体」
そのテキストは「★ここに画像ファイルをD&Dしてください。{~}」
#認証
ヘッダ作成
#メイン処理
そのファイルドロップ許可=はい。
そのファイルドロップされた時は
	ログメモのドロップファイルを反復
		対象を開いて、BASE64エンコード
		それを結果に代入
		対象からファイル名抽出してタイトルに代入
		テンプレート処理
		1秒待つ
		 HEADとリクエストをAPIへHTTPポスト
    	        それを「<hatena:syntax>f:id:{user}:[a-zA-Z0-9_]*.:image</hatena:syntax>」で正規表現マッチ
		それをタグ削除してフォトリンクに代入
		ログメモ=ログメモ&「{今日}:{今}投稿処理完了:{タイトル}{改行}」
		1秒待つ
		リンク=リンク&「[{フォトリンク}]{改行}」
		リンクをクリップボードに代入
●ヘッダ作成
	#変数宣言
	#WSSEヘッダ
	userとpassからWSSEヘッダ生成
	それをHEADに代入
●テンプレート処理
    APIは「http://f.hatena.ne.jp/atom/post」
    リクエストは「<entry xmlns="http://purl.org/atom/ns#">
    <title>{タイトル}</title>
    <content mode="base64" type="image/jpeg">{結果}</content>
    </entry>」

説明

写真共有サイト「フォト蔵」に画像を連続投稿するツール(第163回):クジラ飛行机「文系サラリーマンのための仕事に役立つプログラミング入門」を改造したプログラムです。

はてなフォトライフに連続で画像を投稿&クリップボードはてな記法でアンカーをコピーします。

欠点

たまにタイムアウトします

[]なでしこはてなフォトライフに画像を投稿する/WSSE認証 17:04 はてなブックマーク - なでしこではてなフォトライフに画像を投稿する/WSSE認証 - 教えてなでしこ

#設定
userは「」
passは「」
APIは「http://f.hatena.ne.jp/atom/post」
#選択した画像をBASE64でエンコード
「*.*」のファイル選択
それを開いて、BASE64エンコード
それを結果に代入
リクエストは「<entry xmlns="http://purl.org/atom/ns#">
  <title>てすと</title>
  <content mode="base64" type="image/jpeg">{結果}</content>
</entry>」
#WSSEヘッダ
userとpassからWSSEヘッダ生成
それをHEADに代入
#メイン
HEADとリクエストをAPIへHTTPポスト

参考

開く - なでしこ リファレンス

はてなフォトライフAtomAPIとは - はてなキーワード

[なでしこ]

[]なでしこでJane Styleからtumblrに投稿する 17:04 はてなブックマーク - なでしこでJane Styleからtumblrに投稿する - 教えてなでしこ

REM=『■なでしこを起動するためのバッチファイルです。』
REM=『※以下バッチファイルのためのコマンド
SET VNAKO="C:\Program Files\nadesiko_lang\vnako.exe"
%VNAKO% %0 %1 %2 %3
EXIT
REM=』
# --------------------------------------------------------------------
# 以下自由になでしこのプログラムを書く
# --------------------------------------------------------------------
もし、コマンドライン¥1が「-debug::*」にワイルドカード一致ならば、
 コマンドライン¥1は空
母艦の可視はオフ
#設定
APIは「http://www.tumblr.com/api/write」
emailは「」
passwordは「」

コマンドライン[1]をURLデコード
それを引用に代入する。
ソースはコマンドライン[2]
コマンドライン[3]をUTF8変換してタイトルに代入
パラメータとはハッシュ
パラメータ@「email」は「{email}」
パラメータ@「password」は「{password}」
パラメータ@「type」は「quote」
パラメータ@「quote」は「{引用}」
パラメータ@「source」は「<a href="{ソース}">{タイトル}</a>」

パラメータをAPIにHTTP簡易ポスト
終了

作った理由

専ブラからtumblrに投稿したかった。

使い方

janeの外部コマンドとして以下のように登録して使います。

$BASEPATHt.bat "$TEXTIU" "$URL" "$TITLE"

機能

2chのテキストを引用文としてポストします。それだけ。

工夫した所

始めは"$TEXTIU$URL"と書いていましたが、これだとコマンドライン[1]にTEXTとURLが入ってしまうので"$TEXTIU" "$URL"と書きました。

  • $TEXT使わず、$TEXTIU

ここで5時間近く詰った。理由はよく分からないけれど、$TEXTを使うとt.batに一行しか渡せない。挙句、sourceの情報まで飛んでしまうので、$TEXTIUで渡してからプログラムのほうでURLデコードしています。

参考

Tumblr APIの使い方を勝手に和訳したもの - 計算困難ニッキ

Twitterのお気に入りをTumblrへ投稿するプログラム書いたよ|A Day In The Boy's Life

Jane から tumblr に Link や Quote を追加したい - また物置

ローカルにある画像をtumblrにPOSTするスクリプトを書いた | trash-area.com