2008年3月27日アーカイブ

早速、CustomFeed::MixiScraperの作者さんにBBSのトピック毎にfeedを分ける部分を取り込んでもらえました。ありがとうございます。
画像に関しては、フィルタで対応するのが適切だろうとの指摘をもらいましたので、暇ができたら考えてみたいと思います。
と、言うことでまだ最新のCustomFeed::MixiScraperを取り込んでいないのですが、フィルタと合わせて再度差分を掲載したいと思います。

なんの差分かと言うと、今までは重複を省くのに、Rule::Freshを使っていました。Mixiのときはこれで問題ないのですが、rssを処理しようと思うと、plaggerがcrawlした時間よりも前の作成時間を持つ記事を取りこぼしてしまいます。(記事を一度下書きで投稿して、時間が確定した後で、なんどか推敲してから公開するような場合)
で、Rule::Dedupedを使うように変えてみたのですが、Dedupedはpermalinkとdateを比較して重複を判断します。(compare_body=0の場合)
で、標準のCustomFeed::MixiScraperだと、entryのpermalinkに現在のコメント数が含まれるため、コメントが増えるとpermalinkが変わってしまい、毎回新しいentryとして登録されてしまいます。
と、言うわけでこの辺の対応について後でまとめようかなと。

さて、今日のネタは、PlaggerのStore::Fastladderで記事をDBに入れて、fastladderで読んでいる場合に、fastladderからfeedを登録できるようにする方法です。
まずは、以下の内容でPlaggerの設定ファイルを作成します。
fastladder.yaml(plaggerに食わせる設定ファイル)
include: path_to_feeds.yaml/config.feeds.yaml

recipes:
  - feeds

以下、元のconfig.yamlの内容。mixiとか
config.feeds.yaml
define_recipes:
  feeds:
    - module: Subscription::Config
      config:
        feed:
          既に購読済みのfeedがあれば、ここに書く
両ファイルはplaggerを動かすユーザが読める必要があり、config.feeds.yamlはmongrelを動かすユーザが書ける必要があります。
fastladder/config/initializers/constants.rb に config.feeds.yamlのパスを設定する。
FEEDS_CONFIG_FILE = "path_to_feeds.yaml/config.feeds.yaml"
fastladder/app/controller/api/feed_controller.rb の subscribe_feedを以下のようにする。
  def subscribe_feed(feedlink, options)
    open(FEEDS_CONFIG_FILE, "a") { |feedsfile|
        feedsfile.puts("          - url: " + feedlink)
    }
    member.subscribe_feed(feedlink, options)
  end
後は、mongrelを再起動すればfastladderのUIからfeedが追加できるようになります。
あ、これだと手抜きでmemberが複数いる場合はうまくいかないので、複数に対応するにはファイル名にmemberidとかをつける必要がありますね。
  def subscribe_feed(feedlink, options)
    open(FEEDS_CONFIG_FILE + "." + member.id, "a") { |feedsfile|
        feedsfile.puts("          - url: " + feedlink)
    }
    member.subscribe_feed(feedlink, options)
  end
とかにして、config.feeds.yaml.1とかにすれば行けるかなあ。試してないけど。
削除には対応してないので、削除は手動で。
2008年3月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

このアーカイブについて

このページには、2008年3月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年3月24日です。

次のアーカイブは2008年4月 6日です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1