X-Git-Url: https://git.sommitrealweird.co.uk/twirssi-net-twitter-lite.git/blobdiff_plain/f6e95878522f74eee4e15a1e756921c118e5eaa9..2a7a572495dec25cd287bf5186b9cc9067c18018:/twirssi.pl diff --git a/twirssi.pl b/twirssi.pl index 2f6bc8d..daa01af 100644 --- a/twirssi.pl +++ b/twirssi.pl @@ -10,8 +10,8 @@ $Data::Dumper::Indent = 1; use vars qw($VERSION %IRSSI); -$VERSION = "2.2.4beta"; -my ($REV) = '$Rev: 652 $' =~ /(\d+)/; +$VERSION = "2.2.5beta"; +my ($REV) = '$Rev: 673 $' =~ /(\d+)/; %IRSSI = ( authors => 'Dan Boger', contact => 'zigdon@gmail.com', @@ -20,7 +20,7 @@ my ($REV) = '$Rev: 652 $' =~ /(\d+)/; . 'Can optionally set your bitlbee /away message to same', license => 'GNU GPL v2', url => 'http://twirssi.com', - changed => '$Date: 2009-06-29 14:36:38 -0700 (Mon, 29 Jun 2009) $', + changed => '$Date: 2009-07-16 16:50:30 -0700 (Thu, 16 Jul 2009) $', ); my $window; @@ -758,7 +758,7 @@ sub get_updates { my $pid = fork(); if ($pid) { # parent - Irssi::timeout_add_once( 5000, 'monitor_child', [ $filename, 0 ] ); + Irssi::timeout_add_once( 5000, 'monitor_child', [ "$filename.done", 0 ] ); Irssi::pidwait_add($pid); } elsif ( defined $pid ) { # child close STDIN; @@ -800,6 +800,7 @@ sub get_updates { print $fh "-- $new_poll"; } close $fh; + rename $filename, "$filename.done"; exit; } else { &ccrap("Failed to fork for updating: $!"); @@ -852,7 +853,7 @@ sub do_updates { foreach my $t ( reverse @$tweets ) { my $text = decode_entities( $t->{text} ); - $text = &hilight($text); + $text =~ s/[\n\r]/ /g; my $reply = "tweet"; if ( Irssi::settings_get_bool("show_reply_context") and $t->{in_reply_to_screen_name} ne $username @@ -872,13 +873,13 @@ sub do_updates { if ($context) { my $ctext = decode_entities( $context->{text} ); - $ctext = &hilight($ctext); + $ctext =~ s/[\n\r]/ /g; if ( $context->{truncated} and ref($obj) ne 'Net::Identica' ) { $ctext .= " -- http://twitter.com/$context->{user}{screen_name}" . "/status/$context->{id}"; } - printf $fh "id:%d account:%s nick:%s type:tweet %s\n", + printf $fh "id:%u account:%s nick:%s type:tweet %s\n", $context->{id}, $username, $context->{user}{screen_name}, $ctext; $reply = "reply"; @@ -891,11 +892,11 @@ sub do_updates { $text .= " -- http://twitter.com/$t->{user}{screen_name}" . "/status/$t->{id}"; } - printf $fh "id:%d account:%s nick:%s type:%s %s\n", + printf $fh "id:%u account:%s nick:%s type:%s %s\n", $t->{id}, $username, $t->{user}{screen_name}, $reply, $text; $new_poll_id = $t->{id} if $new_poll_id < $t->{id}; } - printf $fh "id:%d account:%s type:last_id timeline\n", + printf $fh "id:%u account:%s type:last_id timeline\n", $new_poll_id, $username; print scalar localtime, " - Polling for replies" if &debug; @@ -921,16 +922,16 @@ sub do_updates { if exists $friends{ $t->{user}{screen_name} }; my $text = decode_entities( $t->{text} ); - $text = &hilight($text); + $text =~ s/[\n\r]/ /g; if ( $t->{truncated} ) { $text .= " -- http://twitter.com/$t->{user}{screen_name}" . "/status/$t->{id}"; } - printf $fh "id:%d account:%s nick:%s type:tweet %s\n", + printf $fh "id:%u account:%s nick:%s type:tweet %s\n", $t->{id}, $username, $t->{user}{screen_name}, $text; $new_poll_id = $t->{id} if $new_poll_id < $t->{id}; } - printf $fh "id:%d account:%s type:last_id reply\n", $new_poll_id, $username; + printf $fh "id:%u account:%s type:last_id reply\n", $new_poll_id, $username; print scalar localtime, " - Polling for DMs" if &debug; $new_poll_id = 0; @@ -952,12 +953,12 @@ sub do_updates { foreach my $t ( reverse @$tweets ) { my $text = decode_entities( $t->{text} ); - $text = &hilight($text); - printf $fh "id:%d account:%s nick:%s type:dm %s\n", + $text =~ s/[\n\r]/ /g; + printf $fh "id:%u account:%s nick:%s type:dm %s\n", $t->{id}, $username, $t->{sender_screen_name}, $text; $new_poll_id = $t->{id} if $new_poll_id < $t->{id}; } - printf $fh "id:%d account:%s type:last_id dm\n", $new_poll_id, $username; + printf $fh "id:%u account:%s type:last_id dm\n", $new_poll_id, $username; print scalar localtime, " - Polling for subscriptions" if &debug; if ( $obj->can('search') and $id_map{__searches}{$username} ) { @@ -987,13 +988,13 @@ sub do_updates { } $id_map{__searches}{$username}{$topic} = $search->{max_id}; - printf $fh "id:%d account:%s type:searchid topic:%s\n", + printf $fh "id:%u account:%s type:searchid topic:%s\n", $search->{max_id}, $username, $topic; foreach my $t ( reverse @{ $search->{results} } ) { my $text = decode_entities( $t->{text} ); - $text = &hilight($text); - printf $fh "id:%d account:%s nick:%s type:search topic:%s %s\n", + $text =~ s/[\n\r]/ /g; + printf $fh "id:%u account:%s nick:%s type:search topic:%s %s\n", $t->{id}, $username, $t->{from_user}, $topic, $text; $new_poll_id = $t->{id} if not $new_poll_id @@ -1167,7 +1168,8 @@ sub monitor_child { $window->printformat( $line->[0], "twirssi_" . $line->[1], - @$line[ 2 .. $#$line ] + @$line[ 2 .. $#$line-1 ], + &hilight($line->[-1]) ); } } @@ -1576,7 +1578,7 @@ if ($window) { "twitter_unfollow", &gen_cmd( "/twitter_unfriend ", - "destroy_follow", + "destroy_friend", sub { ¬ice("Stopped following $_[0]"); delete $nicks{ $_[0] }; } ) );