otsune's SnakeOil RSSフィード

python -c "print''.join([chr(x) for x in 111&1101,110+~-~11,10^11*11,110+~-~11,-~101,-~11^11*11,~-110,111&11*11,11+11+10,11|~-0110,1-~11^11*11,10^11*11,-~11^11*11,110,101])"

2007-04-15

expressionでPerl文書いてやっちゃいそうだけど、Filter::Configとかあってもいいのかもな

expressionでPerl文書いてやっちゃいそうだけど、Filter::Configとかあってもいいのかもな - otsune's SnakeOil  を含むブックマーク はてなブックマーク - expressionでPerl文書いてやっちゃいそうだけど、Filter::Configとかあってもいいのかもな - otsune's SnakeOil  expressionでPerl文書いてやっちゃいそうだけど、Filter::Configとかあってもいいのかもな - otsune's SnakeOil  のブックマークコメント

no title

を見て。

miyagawaさんとかplagger commiterたちだと、

- module: Filter::Rule
  rule:
    - expression: $args->{entry}->body = 'NowPlaying - ' . $args->{entry}->title . ' .'; 1;

みたいにexpressionで何でもかんでもHackしちまいがちだけど。

たとえば

- module: Filter::Config
  config:
  body: title
      prefix: 'NowPlaying - '
      suffix: ' .'

みたいにYAMLいじりだけである程度のことは出来てもいいのかもなぁ。

(というか、既にやる方法はあるけど、誰もレシピとしてまとめていないとかってことあるかも?)

Publish::Twitterのdiff

| Publish::Twitterのdiff - otsune's SnakeOil  を含むブックマーク はてなブックマーク - Publish::Twitterのdiff - otsune's SnakeOil  Publish::Twitterのdiff - otsune's SnakeOil  のブックマークコメント

Takesakothon会場でPublish::Twitterの日本語動作不良を直した。

UTF8フラグを取るためにencodeしているあたりが、これで良いのかどうかよくわかんねぇ。

--- lib/Plagger/Plugin/Publish/Twitter.pm       (revision 1850)
+++ lib/Plagger/Plugin/Publish/Twitter.pm       (local)
@@ -2,6 +2,7 @@
 use strict;
 use base qw( Plagger::Plugin );
 
+use Encode;
 use Net::Twitter;
 
 sub register {
@@ -28,9 +29,13 @@
 sub publish_entry {
     my($self, $context, $args) = @_;
 
-    my $body = ( $args->{entry}->summary || $args->{entry}->title ) . " " . $args->{entry}->permalink;
+    my $body = ( $args->{entry}->summary->plaintext || $args->{entry}->title ) . " " . $args->{entry}->permalink;
+    # TODO: FIX when Summary configurable.
+    if ( length $body > 159 ) {
+        $body = substr( $body, 0, 159);
+    }
     $context->log(info => "Updating Twitter status to '$body'");
-    $self->{twitter}->update($body) or $context->error("Can't update twitter status");
+    $self->{twitter}->update( encode_utf8($body) ) or $context->error("Can't update twitter status");
 }
 
 1;

追記: http://d.hatena.ne.jp/head/20070414/publish_twitter すでに同じ解決策でてたわ。

RSSをtwitterに

RSSをtwitterに - otsune's SnakeOil  を含むブックマーク はてなブックマーク - RSSをtwitterに - otsune's SnakeOil  RSSをtwitterに - otsune's SnakeOil  のブックマークコメント

plugins:
  - module: Subscription::Config
    config:
      feed:
        - http://b.hatena.ne.jp/otsune/favorite?mode=rss

  - module: Filter::Rule
    rule:
      module: Deduped

  - module: Filter::Rule
    rule:
      - module: RecentN
        count:  1

  - module: Publish::Twitter
    config:
      username: otsune
      password:

RuleのRecentNがポイント。

もしくはDedupeだけでもいいか。

トラックバック - http://subtech.g.hatena.ne.jp/otsune/20070415