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

our $VERSION = '0.01';

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

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

    return unless $args->{feed}->url =~ m!^http://twitter\.com/!;
    $context->log(debug => "Found Twitter feed " . $args->{feed}->url);

    # strip username in title
    if ($args->{entry}->title =~ /^(.*)?:\ (.*)?$/) {
	my $strip_title = $args->{entry}->title;
	$strip_title =~ s/^(.*)?:\ //g;
	$args->{entry}->title($strip_title);
	$context->log(info => "Strip username in title: " . $args->{entry}->title);
    }

    # strip username in body
    if ($args->{entry}->body =~ /^(.*)?:\ (.*)?$/) {
	my $strip_body = $args->{entry}->body;
	$strip_body =~ s/^(.*)?:\ //g;
	$args->{entry}->body($strip_body);
	$context->log(info => "Strip username in body: " . $args->{entry}->body);
    }

    # delete direct message
    if ($args->{entry}->title =~ /^\@(.*)?$/ || $args->{entry}->body =~ /^\@(.*)?/) {
	$context->log(info => "Strip direct message: " . $args->{entry}->link);
	$args->{feed}->delete_entry($args->{entry});
    }
}

1;

__END__

=head1 NAME

Plagger::Plugin::Filter::TwitterFeed -

=head1 SYNOPSIS

- module: Filter::TwitterFeed

=head1 DESCRIPTION

=head1 CONFIG

=head1 AUTHOR

SHIBATA Hiroshi

=head1 SEE ALSO

L<Plagger>

=cut
