diff --git a/toot/api.py b/toot/api.py index 97d5a33..1b4e1a2 100644 --- a/toot/api.py +++ b/toot/api.py @@ -153,6 +153,14 @@ def unpin(app, user, status_id): return _status_action(app, user, status_id, 'unpin') +def bookmark(app, user, status_id): + return _status_action(app, user, status_id, 'bookmark') + + +def unbookmark(app, user, status_id): + return _status_action(app, user, status_id, 'unbookmark') + + def context(app, user, status_id): url = '/api/v1/statuses/{}/context'.format(status_id) diff --git a/toot/commands.py b/toot/commands.py index 720c318..845a55f 100644 --- a/toot/commands.py +++ b/toot/commands.py @@ -164,6 +164,16 @@ def unpin(app, user, args): print_out("✓ Status unpinned") +def bookmark(app, user, args): + api.bookmark(app, user, args.status_id) + print_out("✓ Status bookmarked") + + +def unbookmark(app, user, args): + api.unbookmark(app, user, args.status_id) + print_out("✓ Status unbookmarked") + + def reblogged_by(app, user, args): for account in api.reblogged_by(app, user, args.status_id): print_out("{}\n @{}".format(account['display_name'], account['acct'])) diff --git a/toot/console.py b/toot/console.py index e90a808..a0fc0d2 100644 --- a/toot/console.py +++ b/toot/console.py @@ -410,6 +410,18 @@ STATUS_COMMANDS = [ arguments=[status_id_arg], require_auth=True, ), + Command( + name="bookmark", + description="Bookmark a status", + arguments=[status_id_arg], + require_auth=True, + ), + Command( + name="unbookmark", + description="Unbookmark a status", + arguments=[status_id_arg], + require_auth=True, + ), ] ACCOUNTS_COMMANDS = [