本を読む

読書やコンピュータなどに関するメモ

P::P::Filter::RegexpTitle

s_nobuの日記 - 長いタイトルがついたEntryをF::BreakEntriesToFeedsして送る時にGmailでデコードに失敗するのを避けるパッチ
http://d.hatena.ne.jp/s_nobu/20061222/1166748650

例えばこのEntoryの様に長いタイトルがついてる時にF::BreakEntriesToFeedsでuse_entry_title: 1すると、送信者の名前が長くなりすぎてGmailで受信するとデコードしてくれない。

ということで、適当にカットする。40という数字は適当。

 Filterでやったほうが使い回しが効いていいような気がします。

package Plagger::Plugin::Filter::RegexpTitle;
use strict;
use base qw( Plagger::Plugin );
use Encode;

sub register {
    my($self, $context) = @_;
    $context->register_hook(
        $self,
        'update.entry.fixup' => \&filter,
    );
}

sub filter {
    my($self, $context, $args) = @_;

    local $_ = $args->{entry}->title;
    my $regexp = decode_utf8($self->conf->{regexp}, Encode::FB_CROAK);
    my $count = eval $regexp;
    if ($@) {
        Plagger->context->log(error => "Error: $@ in " . $self->conf->{regexp});
        return;
    }
    $args->{entry}->title($_) if($count);
}

1;

 ほとんどP::P::Filter::Regexpのコピペ。

 で。

  - module: Filter::RegexpTitle
    config:
      regexp: s/^(.{40}).*/$1/

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/184-e1353660

[programing][Web]Plaggerを使って自分のネット上での活動を集約する

ネット上での活動場所が色々と増えてくると、それぞれの場所で書いたりやったりすることが増え、どうしても手薄になるところが出てきてしまうもの。 俺は文章を書くこと自体には抵抗がない、それどころか大好きなくらいですけれど、複数のところで場に合わせて内容や文体を

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad