X-Git-Url: http://lab.mitty.jp/git/?a=blobdiff_plain;f=Dev%2Ftwitter%2Fdump_timeline.pl;h=82162879a883fc4a3fd077e2fd0daeba2cbf2577;hb=fe7588333fde0d1dba7162596725ea5f269b68ab;hp=36fd046f57ea3adf0f9d7bcb20617ed1939146e3;hpb=a7e2c5332b7738094d6de3c73c7393bddcf3db9f;p=lab.git diff --git a/Dev/twitter/dump_timeline.pl b/Dev/twitter/dump_timeline.pl index 36fd046..8216287 100755 --- a/Dev/twitter/dump_timeline.pl +++ b/Dev/twitter/dump_timeline.pl @@ -15,24 +15,38 @@ use YAML::Tiny; use Data::Dumper; use Encode; -if (@ARGV < 1) { - die "usage: $0 screen_name [number_of_pages|all [dump]]\n"; +my $help = sub { + die <authorized) { - die "$0: this client is not yet authorized.\n"; + die "$0: this client is not yet authorized."; } @@ -40,12 +54,26 @@ eval { my $page = 0; while ($pages - $page && $page <= 160) { $page++; - my $res = $bot->user_timeline( - { - screen_name => $screen_name, - page => $page, - } - ); + + my $param = ($screen_name) + ? { page => $page, screen_name => $screen_name, } + : { page => $page, } + ; + + my $res; + if ($method eq 'user_timeline') { + $res = $bot->user_timeline($param); + } + elsif ($method eq 'retweeted_by_me') { + $res = $bot->retweeted_by_me($param); + } + elsif ($method eq 'mentions') { + $res = $bot->mentions($param); + } + else { + warn "$0: unknown method '$method'"; + &{$help}; + } if ($dump) { foreach my $line (split /\n/, Dumper $res) { @@ -69,7 +97,6 @@ eval { if ($@) { evalrescue($@); } -print "done\n"; sub loadconf { @@ -82,7 +109,7 @@ sub loadconf { my $yaml = YAML::Tiny->read($file); if ($!) { - warn "$0: '$file' $!\n"; + warn "$0: '$file' $!"; } return $yaml->[0];