Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-07-17

「2ちゃんねるスレまとめツール」、ちょっと修正

| 「2ちゃんねるスレまとめツール」、ちょっと修正 - そっとなでしこ を含むブックマーク はてなブックマーク - 「2ちゃんねるスレまとめツール」、ちょっと修正 - そっとなでしこ

 昨夜、色々と問題点を残しつつ、いちおう「完成」としたツール。

 ちょっと使ってみたら、細かな問題が見つかったので数箇所を修正。ついでに懸案の「アスキーアート行頭の半角空白の扱い」問題にも対応。

 修正内容は以下の通り

  • アスキーアート表示用の@wiki記法で囲まれている行は一括置換処理の対象外に
  • 引用テキスト全体(アスキーアート行も含め)の行頭に引用表示用@wiki記法を挿入
  • アスキーアート表示用の@wiki記法の文字列は、プログラム内の複数箇所で使用するため、定数で宣言
  • 選択した文字列をアスキーアート表示用@wiki記法で囲む際、アスキーアート表示用@wiki記法の開始記述の直後には(見易さのため)改行を入れる
  • 続きを読む

2010-07-16

「2ちゃんねるスレまとめツール」、とりあえず完成

| 「2ちゃんねるスレまとめツール」、とりあえず完成 - そっとなでしこ を含むブックマーク はてなブックマーク - 「2ちゃんねるスレまとめツール」、とりあえず完成 - そっとなでしこ

 以下の流れの果て、なんとか形になりました。(相変わらず、既に問題点も出ていたりしますがw)

 また、「【主要機能1】選択した文字列に対する変換機能」に、最初の予定には無かった以下の機能を追加しました。

  • 選択した文字列を、太字表示する@wiki記法で囲む
  • 選択した文字列を、斜体表示する@wiki記法で囲む

 使いながら、必要だと思った機能を比較的簡単に追加できるのも、なでしこの良さだなぁと実感。

【追記】さっそく修正しました

続きを読む

2010-07-15

リストやボタンなど複数部品で構成される独自フォーム、を実装

| リストやボタンなど複数部品で構成される独自フォーム、を実装 - そっとなでしこ を含むブックマーク はてなブックマーク - リストやボタンなど複数部品で構成される独自フォーム、を実装 - そっとなでしこ

 以下のGUI部品から構成されるフォームを実装。

  • リスト部品
    • 文字サイズリスト
      • 4~7の整数から選択するリスト
      • 初期値は4
    • 文字色リスト
      • 文字列「black、red、blue、green」の中から選択するリスト
      • 初期値は「black」
  • ボタン部品
    • 選択ボタン
      • 押下すると、文字サイズリストおよび文字色リストの選択テキストと、エディタ上の選択文字列とを整形した文字列で、エディタ上の選択文字列を置換する。
      • フォームを閉じる
    • キャンセルボタン

2010-07-14

【主要機能2】カーソル位置への定型文挿入機能、を実装

| 【主要機能2】カーソル位置への定型文挿入機能、を実装 - そっとなでしこ を含むブックマーク はてなブックマーク - 【主要機能2】カーソル位置への定型文挿入機能、を実装 - そっとなでしこ

 エディタ部品上のカーソル位置に定型文を挿入する処理を実装。

 実装する機能は、【主要機能2】の内、

  • カーソル位置に、画像表示用@wiki記法のテンプレートを挿入する
  • カーソル位置に、サムネイル画像表示用@wiki記法(blankimg)のテンプレートを挿入する
  • 続きを読む

【主要機能1】選択した文字列に対する変換機能、を実装

| 【主要機能1】選択した文字列に対する変換機能、を実装 - そっとなでしこ を含むブックマーク はてなブックマーク - 【主要機能1】選択した文字列に対する変換機能、を実装 - そっとなでしこ

 エディタ部品上で選択された文字列を加工して返す処理を実装。  実装する機能は、【主要機能1】の内、
  • 選択した文字列を、アスキーアート表示用@wiki記法で囲む
 同じく【主要機能1】の
  • 選択した文字列を、指定した文字サイズ、文字色で装飾する@wiki記法で囲む
は、リストやボタンなど複数部品で構成される独自フォームを呼び出す比較的に複雑な機能なので、後回しw

続きを読む

2ちゃんねるスレまとめツールのGUIをざっくり作る

| 2ちゃんねるスレまとめツールのGUIをざっくり作る - そっとなでしこ を含むブックマーク はてなブックマーク - 2ちゃんねるスレまとめツールのGUIをざっくり作る - そっとなでしこ

 必要はツールの母。  そろそろ、2ちゃんねるの某アニメ作品のスレッドをまとめる作業に取り掛かろうと思うので、懸案のツールに着手。  当初の計画に、
  • ツール起動時に、変換形式を、はてな記法と@wiki記法から選択できる
という仕様があるが、とりあえずは(極めて個人的にw)早急に必要な@wiki記法にのみ対応版を優先。  主な機能は次の通り。
  • 【主要機能1】選択した文字列に対する変換機能
    • 選択した文字列を、指定した文字サイズ、文字色で装飾する@wiki記法で囲む
    • 選択した文字列を、アスキーアート表示用@wiki記法で囲む
  • 【主要機能2】カーソル位置への定型文挿入機能
    • カーソル位置に、画像表示用@wiki記法のテンプレートを挿入する
    • カーソル位置に、サムネイル画像表示用@wiki記法(blankimg)のテンプレートを挿入する
  • 【主要機能3】テキスト全体への一括変換機能
    • 行頭の「>」や「>」の前に全角空白を挿入(引用文の@wiki記法として誤認されることを防ぐ)
    • 行頭の半角空白の前に全角空白を挿入(整形済みテキストの@wiki記法として誤認されることを防ぐ)
    • レスのヘッダー行頭に、識別文字「▼」を挿入
 GUIはエディタ部品を母艦のレイアウト全体に指定。  「メニュー一括作成」でウィンドウの上部にメニューバーを表示。メニューバーから、上記の【主要機能1】【主要機能2】を呼び出し、エディタ上のテキストを任意編集。  編集終了後に、メニューバーから「出力」メニューを呼び出すと、【主要機能3】の一括変換処理が行われ、その結果を「メモ記入」して出力する。 …というイメージで、まずGUIを作ってみた。

続きを読む

2010-07-01

順位表作成スクリプト

| 順位表作成スクリプト - そっとなでしこ を含むブックマーク はてなブックマーク - 順位表作成スクリプト - そっとなでしこ

 次に、アニメ公式サイトの被はてなブックマーク数を降順で並べ、その順位表を作成するスクリプト。  データは次のような項目の二次元配列として持つ。
|【アニメタイトル】|【公式サイトURL】|【被はてなブックマーク数】|
 これをスクリプトで処理した結果、次のような形式の順位表を出力したい。
|【順位】|【<a href="公式サイトURL">アニメタイトル</a>】|【被はてなブックマーク数】|
 手動集計していた時に意外と面倒だったのが、順位の決定。被はてなブックマーク数が同数で同順位になる場合を当然、考慮する必要があります。

■ソースコード

アニメサイト群は「アニメA,http://aaaa/,120
アニメB,http://bbbb/,3
アニメC,http://cccc/,30
アニメD,http://dddd/,30
アニメE,http://eeee/,0
アニメF,http://ffff/,30」。
順位表は「|順位|アニメタイトル|被ブックマーク数|{改行}」。
順位は0。
前データ値は0。
同順位数は1。

アニメサイト群は、アニメサイト群の2を表数値ソート。
回数で1から(アニメサイト群の表行数)まで繰り返す
  アニメサイト群[((アニメサイト群の表行数)-回数)]を「タイトル,URL,被ブックマーク数」へ変数分配。
  もし、(被ブックマーク数=前データ値)ならば
    同順位数に1を直接足す。
  違えば
    順位に同順位数を直接足す。
    同順位数は1。
  順位表は、順位表&「|第{順位}位」&
  「|<a href="{URL}">{タイトル}</a>」&
  「|{被ブックマーク数}|{改行}」。
  前データ値は被ブックマーク数。
ここまで
順位表をメモ記入。
母艦を閉じる。

■出力結果

|順位|アニメタイトル|被ブックマーク数|
|第1位|<a href="http://aaaa/">アニメA</a>|120|
|第2位|<a href="http://cccc/">アニメC</a>|30|
|第2位|<a href="http://dddd/">アニメD</a>|30|
|第2位|<a href="http://ffff/">アニメF</a>|30|
|第5位|<a href="http://bbbb/">アニメB</a>|3|
|第6位|<a href="http://eeee/">アニメE</a>|0|
おお!やっぱりスクリプト化すると作業が楽になるなぁ。

【追記】上記のスクリプトを使った記事を書きました。


サイトの被はてなブックマーク数の集計

| サイトの被はてなブックマーク数の集計 - そっとなでしこ を含むブックマーク はてなブックマーク - サイトの被はてなブックマーク数の集計 - そっとなでしこ

 というわけで、↑の2010年夏版をお手軽に作るためのスクリプト作成への道。その第一歩は、まずは指定したサイト全体の被はてなブックマーク数を取得するスクリプト。  使用するのは、はてなブックマークのAPIの一つ、被ブックマーク合計数取得API(bookmark.getTotalCount)。XML-RPC方式のAPIです。

■ソースコード

#-----------------------------------------------------------------------
# 定数の定義/データの設定
#-----------------------------------------------------------------------
!API_URLは「http://b.hatena.ne.jp/xmlrpc」。
URLは「http://s-witch.cute.or.jp/」。
#-----------------------------------------------------------------------
# メイン処理
#-----------------------------------------------------------------------
URLから被ブックマーク合計数取得。
「{URL}|被ブックマーク合計数:{それ}」を表示。

#-----------------------------------------------------------------------
# 関数定義
#-----------------------------------------------------------------------
●被ブックマーク合計数取得(対象URLから)
  パラメータXMLはパラメータ設定(対象URL)。
  メソッドXMLはメソッド設定(「bookmark.getTotalCount」、パラメータXML)。
  被ブックマーク合計数取得XMLは「
<?xml version="1.0"?>
{メソッドXML}」。
  ヘッダは「」。
  結果は、ヘッダと被ブックマーク合計数取得XMLをAPI_URLへHTTPポスト。
  結果数値は、結果から「int」のタグ切り出してタグ削除。
  結果数値で戻る。

●パラメータ設定(パラメータ値)
  それは「<param><value><string>{パラメータ値}</string></value></param>」。
  それで戻る。
●メソッド設定(メソッド名,パラメータ群)
  それは「<methodCall><methodName>{メソッド名}</methodName><params>
{パラメータ群}</params></methodCall>」。
  それで戻る。

■参考リンク