/[irc-logger]/trunk/bin/irc-logger.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/bin/irc-logger.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 91 by dpavlin, Fri Mar 7 10:13:45 2008 UTC revision 94 by dpavlin, Fri Mar 7 10:50:16 2008 UTC
# Line 628  sub rss_fetch { Line 628  sub rss_fetch {
628                  _log("can't fetch RSS ", $args->{url});                  _log("can't fetch RSS ", $args->{url});
629                  return;                  return;
630          }          }
631    
632          my ( $total, $updates ) = ( 0, 0 );          my ( $total, $updates ) = ( 0, 0 );
633          for my $entry ($feed->entries) {          for my $entry ($feed->entries) {
634                  $total++;                  $total++;
635    
636                  # seen allready?                  # seen allready?
637                  return if $_rss->{$feed->link}->{seen}->{$entry->id}++ > 0;                  next if $_rss->{$feed->link}->{seen}->{$entry->id}++ > 0;
638    
639                  sub prefix {                  sub prefix {
640                          my ($txt,$var) = @_;                          my ($txt,$var) = @_;
641                            $var =~ s/\s+/ /gs;
642                          $var =~ s/^\s+//g;                          $var =~ s/^\s+//g;
643                            $var =~ s/\s+$//g;
644                          return $txt . $var if $var;                          return $txt . $var if $var;
645                  }                  }
646    
647                    # fix absolute and relative links to feed entries
648                    my $link = $entry->link;
649                    if ( $link =~ m!^/! ) {
650                            my $host = $args->{url};
651                            $host =~ s!^(http://[^/]+).*$!$1!;      #!vim
652                            $link = "$host/$link";
653                    } elsif ( $link !~ m!^http! ) {
654                            $link = $args->{url} . $link;
655                    }
656                    $link =~ s!//+!/!g;
657    
658                  my $msg;                  my $msg;
659                  $msg .= prefix( 'From: ' , $args->{name} || $feed->title );                  $msg .= prefix( 'From: ' , $args->{name} || $feed->title );
660                  $msg .= prefix( ' by ' , $entry->author );                  $msg .= prefix( ' by ' , $entry->author );
661                  $msg .= prefix( ' -- ' , $entry->link );                  $msg .= prefix( ' | ' , $entry->title );
662                    $msg .= prefix( ' | ' , $link );
663  #               $msg .= prefix( ' id ' , $entry->id );  #               $msg .= prefix( ' id ' , $entry->id );
664    
665                  if ( $args->{kernel} && $send_rss_msgs ) {                  if ( $args->{kernel} && $send_rss_msgs ) {
666                          $send_rss_msgs--;                          $send_rss_msgs--;
667                          _log('RSS', $msg);                          _log('>>', $msg);
668                          $sth_insert_log->execute( $CHANNEL, 1, $NICK, $msg, undef );                          $sth_insert_log->execute( $CHANNEL, 1, $NICK, $msg, 'now()' );
669                          $args->{kernel}->post( $IRC_ALIAS => notice => $CHANNEL, $msg );                          $args->{kernel}->post( $IRC_ALIAS => notice => $CHANNEL, $msg );
670                          $updates++;                          $updates++;
671                  }                  }
# Line 910  POE::Session->create( inline_states => { Line 925  POE::Session->create( inline_states => {
925  #                               remove  => qq{ delete from feeds                                where url = ? and name = ? },  #                               remove  => qq{ delete from feeds                                where url = ? and name = ? },
926                                  start   => qq{ update feeds set active = true   where url = ? },                                  start   => qq{ update feeds set active = true   where url = ? },
927                                  stop    => qq{ update feeds set active = false  where url = ? },                                  stop    => qq{ update feeds set active = false  where url = ? },
                                   
928                          };                          };
929                          if (my $q = $sql->{$1} ) {                          if (my $q = $sql->{$1} ) {
930                                  my $sth = $dbh->prepare( $q );                                  my $sth = $dbh->prepare( $q );

Legend:
Removed from v.91  
changed lines
  Added in v.94

  ViewVC Help
Powered by ViewVC 1.1.26