root/lang/perl/plagger/lib/Plagger/Plugin/Publish/Slmame.pm

Revision 25282, 1.6 kB (checked in by haoyayoi, 7 months ago)

Change arguments at WWW::Slmame

Line 
1package Plagger::Plugin::Publish::Slmame;
2use strict;
3use warnings;
4use base qw( Plagger::Plugin );
5
6use Encode;
7use WWW::Slmame;
8use Time::HiRes qw(sleep);
9
10sub register {
11    my($self,$context) = @_;
12    $context->register_hook(
13        $self,
14        'publish.entry' => \&publish_entry,
15        'plugin.init'   => \&initialize,
16    );
17}
18
19sub initialize {
20    my($self, $context, $args) = @_;
21    my %opt = (
22        id      => $self->conf->{id},
23        pass    => $self->conf->{pass},
24        blog    => $self->conf->{blog},
25    );
26    $self->{slmame} = WWW::Slmame->new(%opt);
27}
28
29sub publish_entry {
30    my($self, $context, $args) = @_;
31    $context->log(info => "updating slmame blog");
32    $self->{slmame}->blog_select();
33    my $hashref = {
34        title   => $args->{entry}->title,
35        message => $args->{entry}->message
36    };
37    $self->{slmame}->update($hashref);
38    my $sleeping_time = $self->conf->{interval} || 10;
39    $context->log(info => "sleep $sleeping_time.");
40    sleep($sleeping_time);
41}
42
431;
44__END__
45
46=head1 NAME
47
48Plagger::Plugin::Publish::Slmame - Update your slmame blog with feeds.
49
50=head1 SYNOPSIS
51
52  - module: Publish::Slmame
53    config:
54      id: Slmame id
55      pass: Slmame pass
56      blog: Slmame blog index
57
58=head1 DESCRIPTION
59
60This plugin sends feed entries summary to your Slmame blog.
61
62=head1 CONFIG
63
64=over 4
65
66=item id
67
68Slmame blog id. Required.
69
70=item pass
71
72Slmame blog pass. Required.
73
74=item blog
75
76Slmame blog index. Required.
77
78=item interval
79
80=back
81
82=head1 AUTHOR
83
84Soshi Tamura  C<< <st.hao.yayoi@gmail.com> >>
85
86=head1 SEE ALSO
87
88L<Plagger>, L<WWW::Slmame>
89
90=cut
Note: See TracBrowser for help on using the browser.