Changeset 1970

Show
Ignore:
Timestamp:
10/09/07 21:48:39
Author:
charsbar
Message:

CustomFeed?::MixiScraper?: added BBS mapping and fetch_comment option, WWW::Mixi::Scraper dependency to 0.09

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/plagger/deps/CustomFeed-MixiScraper.yaml

    r1961 r1970  
    22author: Kenichi Ishigaki 
    33depends:  
    4   WWW::Mixi::Scraper: 0.07 
     4  WWW::Mixi::Scraper: 0.09 
  • trunk/plagger/lib/Plagger/Plugin/CustomFeed/MixiScraper.pm

    r1961 r1970  
    4040        get_list   => 'show_calendar', 
    4141        get_detail => 'view_event', 
     42    }, 
     43    BBS => { 
     44        title      => 'コミュニティ最新書き込み', 
     45        get_list   => 'new_bbs', 
     46        get_detail => 'view_bbs', 
    4247    }, 
    4348}; 
     
    137142        } 
    138143 
     144        my @comments; 
    139145        if ($self->conf->{fetch_body} && !$blocked && $msg->{link} =~ /view_/ && defined $MAP->{$type}->{get_detail}) { 
     146            # view_enquete is not implemented and probably 
     147            # won't be implemented as it seems redirected to 
     148            # reply_enquete 
     149            next if $msg->{link} =~ /view_enquete/; 
    140150            $context->log(info => "Fetch body from $msg->{link}"); 
    141151            my $item = $self->cache->get_callback( 
    142                 "item-$msg->{link}"
     152                "item-".$msg->{link}
    143153                sub { 
    144154                    Time::HiRes::sleep( $self->conf->{fetch_body_interval} || 1.5 ); 
     
    162172 
    163173                $entry->date( Plagger::Date->parse($format, $item->{time}) ); 
     174                if ($self->conf->{fetch_comment}) { 
     175                  for my $comment (@{ $item->{comments} || [] }) { 
     176                      my $c = Plagger::Entry->new; 
     177                         $c->title($entry->title . ': '. $comment->{subject}); 
     178                         $c->body($comment->{description}); 
     179                         $c->link($comment->{link}); 
     180                         $c->author($comment->{name}); 
     181                         $c->date( Plagger::Date->parse($format, $comment->{time}) ); 
     182                      push @comments, $c; 
     183                  } 
     184                } 
    164185            } else { 
    165186                $context->log(warn => "Fetch body failed. You might be blocked?"); 
     
    169190 
    170191        $feed->add_entry($entry); 
     192        for my $comment ( @comments ) { 
     193            $feed->add_entry($comment); 
     194        } 
    171195    } 
    172196 
     
    189213        password: password 
    190214        fetch_body: 1 
     215        fetch_comment: 0 
    191216        show_icon: 1 
    192217        feed_type: 
     
    223248link to the entry. Defaults to 0. 
    224249 
     250=item fetch_comment 
     251 
     252With this option set, this plugin fetches entry's comments as well 
     253(meaningless when C<fetch_body> is not set). Defaults to 0. 
     254 
    225255=item fetch_body_interval 
    226256