From d7d933d95deb241288ca7e3cd4a93b61b51bd0d1 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 22 Apr 2017 13:34:51 +0100 Subject: store friends / followers --- lib/Dakkar/TweetArchive.pm | 9 ++++++++- lib/Dakkar/TweetArchive/Store.pm | 31 +++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/Dakkar/TweetArchive.pm b/lib/Dakkar/TweetArchive.pm index 9d914fd..3c0d35e 100644 --- a/lib/Dakkar/TweetArchive.pm +++ b/lib/Dakkar/TweetArchive.pm @@ -48,5 +48,12 @@ sub home_timeline($self,$since_id) { }); } -1; +sub friends($self) { + return $self->client->friends({count=>200}); +} +sub followers($self) { + return $self->client->followers({count=>200}); +} + +1; diff --git a/lib/Dakkar/TweetArchive/Store.pm b/lib/Dakkar/TweetArchive/Store.pm index e4a4f3b..b716166 100644 --- a/lib/Dakkar/TweetArchive/Store.pm +++ b/lib/Dakkar/TweetArchive/Store.pm @@ -72,6 +72,22 @@ SQL ); } +sub store_friends($self,$friends) { + my $friends_str = $json_printer->encode($friends); + + $self->dbh->do(<<'SQL', {}, $friends_str); +INSERT INTO friends(users) VALUES(?) +SQL +} + +sub store_followers($self,$followers) { + my $followers_str = $json_printer->encode($followers); + + $self->dbh->do(<<'SQL', {}, $followers_str); +INSERT INTO followers(users) VALUES(?) +SQL +} + sub _schema_deploy($self,$dbh,$next_version) { my $method_name = "_schema_deploy_${next_version}"; if (my $method = $self->can($method_name)) { @@ -115,4 +131,19 @@ CREATE TABLE tweets ( SQL } +sub _schema_deploy_2($self,$dbh) { + $dbh->do(<<'SQL'); +CREATE TABLE followers ( + taken_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP PRIMARY KEY, + users JSONB NOT NULL +) +SQL + $dbh->do(<<'SQL'); +CREATE TABLE friends ( + taken_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP PRIMARY KEY, + users JSONB NOT NULL +) +SQL +} + 1; -- cgit v1.2.3