Ivan Habunek
3df8e2722a
Extract datetime utils
2023-06-30 11:08:19 +02:00
Ivan Habunek
83b7f25678
Add __main__.py
...
This allows launching toot by:
python -m toot
2023-06-30 11:02:13 +02:00
Ivan Habunek
7da372e4a8
Disable settings for testing
2023-06-28 14:55:28 +02:00
Ivan Habunek
d4f8acb3ce
Resolve circular import by moving get_config_dir
2023-06-28 14:46:35 +02:00
Ivan Habunek
953cad5023
Respect quiet setting
2023-06-28 14:17:35 +02:00
Ivan Habunek
cee2c93815
Respect debug and debug_file settings
2023-06-28 14:17:20 +02:00
Ivan Habunek
4388175cb4
Respect color setting
2023-06-28 13:56:59 +02:00
Ivan Habunek
85260ed99d
Apply command defaults from settings
2023-06-28 13:55:30 +02:00
Ivan Habunek
ed0baf0770
Implement reading from a settings file
2023-06-28 13:55:29 +02:00
Ivan Habunek
bb625da257
Bump version, add changelog
2023-06-28 12:41:47 +02:00
Ivan Habunek
3a375b77ee
Add toot status command
2023-06-28 12:23:33 +02:00
Ivan Habunek
8ad2b279ed
Ignore warning not to compare types
...
No other way around it here.
2023-06-26 17:02:58 +02:00
Ivan Habunek
b2c2f7466e
Fix type hints for older versions of python
2023-06-26 17:00:39 +02:00
Ivan Habunek
3cd13f6885
Fix vermin checks
2023-06-26 17:00:38 +02:00
Ivan Habunek
f3439ad30d
Use entitites to simpliy print functions
2023-06-26 16:59:14 +02:00
Ivan Habunek
a0b9b37a4f
Add Instance and related entities
2023-06-26 16:59:14 +02:00
Ivan Habunek
368738831c
Add Notification and Report entities
2023-06-26 16:59:14 +02:00
Ivan Habunek
119c514ee9
Add entities
2023-06-26 16:59:14 +02:00
Ivan Habunek
5607bd75b3
Add compat code for typing functions
2023-06-26 16:59:13 +02:00
Ivan Habunek
0c89445b61
Fix type hint for older py versions
2023-06-26 16:58:11 +02:00
Ivan Habunek
0662a7616b
Read toot lenght limit from mastodon instances
...
fixes #369
2023-06-24 10:18:10 +02:00
Ivan Habunek
12d84ea05e
Fix return type
2023-06-24 10:04:40 +02:00
Ivan Habunek
dff36e28f3
Remove redundant logging
...
These actions are already visible via http requests being logged.
2023-06-24 09:58:31 +02:00
Daniel Schwarz
8c3cec1aef
--no-color now works for tui mode
2023-06-23 18:16:14 -04:00
Ivan Habunek
0973bfd484
Refresh timeline when showing thread
2023-06-22 12:15:05 +02:00
Ivan Habunek
7b08e39f00
Decrease the amount of color
2023-06-22 11:33:07 +02:00
Daniel Schwarz
01afbe1f2f
If toot activate is invoked without an account, show list of accounts
2023-06-22 11:30:43 +02:00
Ivan Habunek
51d60679c3
Simplify account timeline options
2023-06-22 11:16:32 +02:00
Daniel Schwarz
f7ba208d3b
Added personal timeline, which is your own timeline of posts
...
Fixes issue #354
2023-06-22 11:07:54 +02:00
Daniel Schwarz
e55474158a
Added toot timeline --account_tl console command
...
Displays the timeline of any account (public timeline for
users who are not you, public+private for you)
Right now it does not display reblogs or replies,
this could be configurable if we add more command line flags
2023-06-22 11:07:54 +02:00
Daniel Schwarz
56cc056639
Login to servers that don't honor the uri spec for V1::Instance
...
Pleroma, Akkoma, and other servers do not follow the Mastodon spec
for the 'uri' attribute which specifies that it contains the domain
name of the instance. Instead, they return a complete URI.
As a workaround, we now detect this situation and parse out the
domain from the URI when necessary. This fixes issue #347 .
Thanks to @laleanor for their patch and @rjp for ideas on how to
make it work with GotoSocial and other servers
2023-05-27 05:51:00 +02:00
Ivan Habunek
a388c30edf
Remove unused import
2023-04-06 21:36:09 +02:00
Ivan Habunek
e3394c1693
Extract fetching list ID
...
Also don't check if account is found, that function alredy raises a
ConsoleError.
2023-03-30 12:31:04 +02:00
Ivan Habunek
a19670d0c3
Add integration tests for lists
2023-03-30 12:00:12 +02:00
Ivan Habunek
8624ddb175
Add a simple table printer and apply to lists
2023-03-30 12:00:12 +02:00
Daniel Schwarz
e85f7ce594
Give a more specfic error message if we can't add an account to list
2023-03-30 10:03:45 +02:00
Daniel Schwarz
47b182a05b
Changed parameters for list cmds
...
Title is now a positional parameter.
Also added some error handling in the command processing
for looking up list IDs per @ihabunek 's suggestions
2023-03-30 10:03:34 +02:00
Dan Schwarz
c12c53d719
minor improvement of feedback messages
2023-03-30 10:01:04 +02:00
Dan Schwarz
2e0f2548e6
Added toot list_remove_account command
2023-03-30 10:01:04 +02:00
Dan Schwarz
80f05e8147
Added toot list_add_account command
2023-03-30 10:01:03 +02:00
Daniel Schwarz
bfdd84870f
Added "toot list_delete" and "toot list_create" commands
2023-03-30 10:01:03 +02:00
Daniel Schwarz
08bb7aae71
added "toot list_accounts" command
2023-03-30 10:01:03 +02:00
Daniel Schwarz
855b2a1526
"toot list" console command added
2023-03-30 10:01:02 +02:00
Dan Schwarz
6bcd43a6ae
Add basic support for Mastodon Lists
...
Fixes issue #255
2023-03-30 10:01:02 +02:00
Dan Schwarz
040427884b
Make button widget unicode-aware (spacing)
2023-03-30 10:01:02 +02:00
Dan Schwarz
39e1f92970
add get_lists method
2023-03-30 10:01:01 +02:00
Ivan Habunek
cb0af3488b
Merge pull request #344 from danschwarz/boost_fix
...
Fix for boosting of statuses that were previously boosted by others
2023-03-19 08:26:54 +01:00
Daniel Schwarz
71da194b76
Fix for boosting of statuses that were previously boosted by others
...
These wouldn't boost/unboost correctly; now they do.
2023-03-17 18:45:06 -04:00
Ivan Habunek
6d60ecee4d
Use direct invocation istead of signals
2023-03-15 10:17:35 +01:00
Ivan Habunek
7726b01000
Add type annotations
2023-03-15 09:55:50 +01:00
Ivan Habunek
45fd2901de
Remove no longer needed args to Timeline
...
Read them directly from TUI
2023-03-15 09:54:18 +01:00
Ivan Habunek
6047a51c4f
Pass the TUI object to Timeline in constructor
2023-03-15 09:53:56 +01:00
Ivan Habunek
71a2520198
Extract refresh timeline code
2023-03-13 13:37:02 +01:00
Daniel Schwarz
9999d975b4
Fixed refresh so it stays on the currently selected timeline
...
Fixes issue #337
2023-03-13 13:28:34 +01:00
Dan Schwarz
dfa3cf1b68
Restructured Goto Menu items for clarity, added error display
2023-03-12 22:00:05 -04:00
Dan Schwarz
99060d221b
Basic support for followed accounts in TUI
...
In the status detail window, followed accounts are shown in
yellow, while unfollowed accounts are shown in grey.
2023-03-09 12:24:54 +01:00
Ivan Habunek
8b45840d9f
Update changelog, bump version
2023-03-09 11:54:19 +01:00
Ivan Habunek
47c16b01ad
Add poll options to toot post
2023-03-09 11:02:15 +01:00
Ivan Habunek
1e3d59fee2
Don't prompt for toot text if media is given
...
This allows you to post an image without text:
toot post --media image.png
And not get prompted to write some text, which seems desirable.
2023-03-09 11:02:15 +01:00
Ivan Habunek
d5b5c89996
Add support for custom instance domains
...
The instance domain can be different from their base url, for example
the instance at https://social.vivaldi.net uses the vivaldi.net domain,
sans 'social'.
This commit requires the user to provide the base url of the instance,
instead of domain name. The domain is then fetched from the server.
fixes #217
2023-03-09 11:00:45 +01:00
Ivan Habunek
9baa0823f9
Fix formatting
2023-03-07 11:09:41 +01:00
Daniel Schwarz
6b432b2fd3
Deduplicate and sort links for the show links function
2023-03-07 11:06:10 +01:00
Dan Schwarz
30792a0cab
Properly reference status.original when enumerating status links
...
Fixes #322
2023-03-07 11:06:10 +01:00
Ivan Habunek
9d51546be3
Merge pull request #334 from danschwarz/osc52
...
Add cop[y] status feature - copies status text to clipboard
2023-03-07 11:01:50 +01:00
Daniel Schwarz
04615e84bc
Add cop[y] status feature - copies status text to clipboard
...
This relies on the OSC 52 terminal feature, which is widely
supported (Windows Terminal, iTerm2, XTerm, Kitty, others)
2023-03-06 19:30:54 -05:00
Ivan Habunek
e10bb0ebae
Merge pull request #328 from danschwarz/translate_fix
...
Fix for issue #318 translation of boosted toots doesn't work
2023-03-06 07:57:31 +01:00
Ivan Habunek
04beac87ed
Merge pull request #330 from rogarb/conversations
...
Add conversations support in TUI
2023-03-05 11:34:18 +01:00
rogarb
d81eaaad0d
Inherit visibility when replying in TUI
...
When replying to a toot, the visibility gets set to default: if the toot
has a direct visibility, the visibility in reply will be changed to the
default one, whereas it should stay in direct mode.
2023-03-05 09:45:46 +01:00
rogarb
60029a442e
Add conversations support in TUI
2023-03-04 23:33:51 +01:00
Dan Schwarz
27088b1219
Fixed translation of boosted toots
2023-03-04 16:04:13 -05:00
Ivan Habunek
314a0aefbe
Merge pull request #326 from ihabunek/thumbs
...
Add media thumbnails
2023-03-04 17:04:51 +01:00
Ivan Habunek
e77c40e27c
Update references to new documentation
2023-03-03 16:54:40 +01:00
Ivan Habunek
244502ec0b
Wait until media uploads finish processing
2023-03-03 11:44:40 +01:00
Ivan Habunek
e26cb52fd7
Enable providing media thumbnails
...
issue #301
2023-03-03 11:44:39 +01:00
Ivan Habunek
14a286ef0d
Use v2 endpoint to upload media
...
v1 is deprecated
2023-03-03 09:03:33 +01:00
Ivan Habunek
7ed28b3bc3
Add helper function for stripping None values
2023-03-02 11:28:24 +01:00
Ivan Habunek
57824058e0
Bump version, add changelog
2023-03-01 08:09:10 +01:00
Ivan Habunek
882b6c4d0a
Minor tweaks
2023-03-01 07:51:36 +01:00
Daniel Schwarz
8ee414c83a
Make _notif_timeline_generator more robust
...
Notifications without statuses shouldn't crash
2023-02-24 22:51:27 -05:00
Daniel Schwarz
744dc090b4
Basic support for viewing Status and Mention notifs as a timeline
...
Now the Goto Menu has a < Notifications > button. This will load
your Status and Mention notifications as a standard timeline
for viewing.
2023-02-24 22:19:24 -05:00
Ivan Habunek
48770a3120
Merge pull request #317 from danschwarz/action_fix
...
Account overlay - don't allow mute/block/unfollow own account
2023-02-22 08:41:54 +01:00
Daniel Schwarz
3a72d5f261
Account overlay - don't allow mute/block/unfollow own account
2023-02-21 20:43:09 -05:00
Ivan Habunek
6c5eb528ee
Add command for updating user account
...
fixes #314
2023-02-21 18:10:14 +01:00
Ivan Habunek
635dcd38cf
Backport argparse BooleanOptionalAction
2023-02-21 18:08:30 +01:00
Ivan Habunek
00baabf7aa
Store temp file when using editor to post
...
In case of failed posting the status is not lost and the user can
recover it and continue posting.
fixes #311
2023-02-20 19:54:47 +01:00
Daniel Schwarz
85df15f533
Implement actions for Account
...
Actions: un/follow, un/mute, un/block are invoked synchronously
and the Account overlay window is updated to reflect the changes.
2023-02-20 09:11:36 +01:00
Daniel Schwarz
876ad1f53d
Added framework for action buttons with "Confirm/Cancel" behavior
...
Buttons with confirm/cancel behavior are in place and working
TBD: implement actions when user gives confirmation.
2023-02-20 09:11:36 +01:00
Daniel Schwarz
a1490461bd
Add relationship support to Account overlay
...
Display relationship details such as followed_by, blocked_by,
and add buttons to un/follow, un/mute, un/block.
Buttons are nonfunctional for now
2023-02-20 09:11:34 +01:00
Daniel Schwarz
95473fcd6e
Add get_relationship method to api
2023-02-20 09:08:53 +01:00
Ivan Habunek
a633f757b5
Merge pull request #312 from danschwarz/poll3
...
UI to vote in polls
2023-02-20 09:06:51 +01:00
Ivan Habunek
4b87f7876c
Add changelog, bump version
2023-02-20 08:43:27 +01:00
Daniel Schwarz
c944863f3f
Changed bookmark symbol from unicode glyph to 'b'
...
The glyph previously used '🠷' is interpreted with different
widths on different terminal emulators (i.e. xterm gets it wrong)
This results in visual glitches in the status detail area and
especially in the scrollbar when visible. Changing it to a
standard ASCII 'b' fixes all these issues.
2023-02-17 09:34:57 +01:00
Daniel Schwarz
80e711a3a1
Fixed type error in vote method signature
2023-02-15 21:50:50 -05:00
Daniel Schwarz
68cadd4053
Boosted polls weren't working; this change fixes that.
2023-02-15 10:15:16 -05:00
Daniel Schwarz
a937650894
Update status detail after leaving overlay
...
This is currently used for poll voting; after voting in a
poll overlay, the status detail will update with the user's
vote and the new vote count when they dismiss the overlay.
As part of this change, the refresh_status_detail method now
maintains the scroll position after refresh, rather than
scrolling back to the top automatically
2023-02-14 23:16:26 -05:00
Daniel Schwarz
63bc11316b
Removed unnecessary check that poll exists
2023-02-14 22:40:35 -05:00
Daniel Schwarz
b2a0bc5634
fixed method signature for vote (added list type of int)
2023-02-14 22:40:06 -05:00
Daniel Schwarz
ce34a2f05e
Added api error message reporting, removed unnecessary parenthesis
2023-02-14 22:21:04 -05:00
Daniel Schwarz
41a8c33409
Removed unneeded parenthesis
2023-02-14 22:21:04 -05:00
Daniel Schwarz
ef2c35eaee
Removed unneeded pareenthesis
2023-02-14 22:21:04 -05:00