X-Git-Url: http://lab.mitty.jp/git/?a=blobdiff_plain;f=Dev%2Ftwitter%2Fshow_status.pl;h=0d2ecac6522d03788ab7f97106b470280f458246;hb=HEAD;hp=1c7607986773b7488bf9a5721e51ac9b56273c9a;hpb=8333ea00a9fe608c90c20af12ea0c51548f66f4e;p=lab.git diff --git a/Dev/twitter/show_status.pl b/Dev/twitter/show_status.pl index 1c76079..0d2ecac 100755 --- a/Dev/twitter/show_status.pl +++ b/Dev/twitter/show_status.pl @@ -9,26 +9,37 @@ use utf8; # it throws a Net::Twitter::Lite::Error object. # You can catch and process these exceptions by using eval blocks and testing $@ ## from http://search.cpan.org/perldoc?Net::Twitter::Lite#ERROR_HANDLING -use Net::Twitter::Lite; +use Net::Twitter::Lite::WithAPIv1_1; use Data::Dumper; -my $bot = Net::Twitter::Lite->new; +my $bot = Net::Twitter::Lite::WithAPIv1_1->new( + legacy_lists_api => 0, +); + +my $dump; +if (defined $ARGV[0] and $ARGV[0] eq "-d") { + $dump = shift @ARGV; +} eval { foreach my $id (@ARGV) { + $id =~ /\/?(\d+)$/; + $id = $1; my $res = $bot->show_status($id); foreach my $line (split /\n/, Dumper $res) { if ($line =~ /undef/) { next; } - unless ($line =~ / => {/ - || $line =~ / = / - || $line =~ /status/ - || $line =~ /'text'/ - || $line =~ /created/ - || $line =~ /'id'/ - || $line =~ /name/ - || $line =~ / },/ - || $line =~ / };/ - ) { next; } + if (! $dump) { + unless ($line =~ / => {/ + || $line =~ / = / + || $line =~ /status/ + || $line =~ /'text'/ + || $line =~ /created/ + || $line =~ /'id'/ + || $line =~ /name/ + || $line =~ / },/ + || $line =~ / };/ + ) { next; } + } print $line, "\n"; } } @@ -36,7 +47,6 @@ eval { if ($@) { evalrescue($@); } -print "truncated output done\n"; sub evalrescue { @@ -47,12 +57,18 @@ sub evalrescue { if (blessed $@ && $@->isa('Net::Twitter::Lite::Error')) { warn $@->error; if ($@->twitter_error) { - my %twitter_error = %{$@->twitter_error}; - map { - $twitter_error{"$_ => "} = $twitter_error{$_} . "\n"; - delete $twitter_error{$_} - } keys %twitter_error; - warn join("", %twitter_error); + my $twitter_error = $@->twitter_error; + if (defined $twitter_error->{errors}) { + foreach my $error (@{$twitter_error->{errors}}) { + warn "code => " , $error->{code}, "\n"; + warn "message => ", $error->{message}, "\n"; + } + } + else { + # unknown HASH structure + use Data::Dumper; + warn Dumper $twitter_error; + } } } else {