From 3c6a9e41583adf728e43dd5b334e1d35a7c599a3 Mon Sep 17 00:00:00 2001 From: codl Date: Wed, 27 Dec 2017 21:23:13 +0100 Subject: [PATCH] track which posts are reblogs --- libforget/mastodon.py | 1 + libforget/twitter.py | 1 + .../7e255d4ea34d_add_is_reblog_to_post.py | 24 +++++++++++++++++++ ...1a5_add_favourite_reblog_count_to_posts.py | 4 ---- model.py | 2 ++ 5 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 migrations/versions/7e255d4ea34d_add_is_reblog_to_post.py diff --git a/libforget/mastodon.py b/libforget/mastodon.py index f9b7753..71db47e 100644 --- a/libforget/mastodon.py +++ b/libforget/mastodon.py @@ -156,6 +156,7 @@ def post_from_api_object(obj, instance): direct=obj['visibility'] == 'direct', favourites=obj['favourites_count'], reblogs=obj['reblogs_count'], + is_reblog=obj['reblog'] is not None, ) diff --git a/libforget/twitter.py b/libforget/twitter.py index 47cac21..9645632 100644 --- a/libforget/twitter.py +++ b/libforget/twitter.py @@ -119,6 +119,7 @@ def post_from_api_tweet_object(tweet, post=None): post.favourites = tweet['favorite_count'] if 'retweet_count' in tweet: post.reblogs = tweet['retweet_count'] + post.is_reblog = 'retweeted_status' in tweet return post diff --git a/migrations/versions/7e255d4ea34d_add_is_reblog_to_post.py b/migrations/versions/7e255d4ea34d_add_is_reblog_to_post.py new file mode 100644 index 0000000..9757fc4 --- /dev/null +++ b/migrations/versions/7e255d4ea34d_add_is_reblog_to_post.py @@ -0,0 +1,24 @@ +"""add is_reblog to Post + +Revision ID: 7e255d4ea34d +Revises: 83510ef8c1a5 +Create Date: 2017-12-27 21:18:48.988601 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '7e255d4ea34d' +down_revision = '83510ef8c1a5' +branch_labels = None +depends_on = None + + +def upgrade(): + op.add_column('posts', sa.Column('is_reblog', sa.Boolean(), server_default='FALSE', nullable=False)) + + +def downgrade(): + op.drop_column('posts', 'is_reblog') diff --git a/migrations/versions/83510ef8c1a5_add_favourite_reblog_count_to_posts.py b/migrations/versions/83510ef8c1a5_add_favourite_reblog_count_to_posts.py index b9b9262..ec73717 100644 --- a/migrations/versions/83510ef8c1a5_add_favourite_reblog_count_to_posts.py +++ b/migrations/versions/83510ef8c1a5_add_favourite_reblog_count_to_posts.py @@ -17,14 +17,10 @@ depends_on = None def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### op.add_column('posts', sa.Column('favourites', sa.Integer(), nullable=True)) op.add_column('posts', sa.Column('reblogs', sa.Integer(), nullable=True)) - # ### end Alembic commands ### def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### op.drop_column('posts', 'reblogs') op.drop_column('posts', 'favourites') - # ### end Alembic commands ### diff --git a/model.py b/model.py index f9aa9c6..049f14a 100644 --- a/model.py +++ b/model.py @@ -249,6 +249,8 @@ class Post(db.Model, TimestampMixin, RemoteIDMixin): favourites = db.Column(db.Integer) reblogs = db.Column(db.Integer) + is_reblog = db.Column(db.Boolean, server_default='FALSE', nullable=False) + def __str__(self): return ''.format(self.id, self.author_id)