Commit Graph

682 Commits

Author SHA1 Message Date
Ivan Habunek d9c6bf79c8
Fix urwid stalling until input received
fixes #364
2023-12-19 11:10:49 +01:00
Ivan Habunek 561506ee2d
Enable getting public timelines without logging in 2023-12-17 09:56:39 +01:00
Ivan Habunek 59efff5abc
Use context manager to edit config
This simplies the code a bit and resolves some type hinting issues.
2023-12-17 09:42:09 +01:00
Ivan Habunek 1dac093be7
Add --json option to lists commands 2023-12-14 14:10:53 +01:00
Ivan Habunek 438a8ab206
Make instance work without logging in 2023-12-14 13:06:06 +01:00
Ivan Habunek 44ea2e8e6f
Don't ignore the whole file by flake8 2023-12-14 11:57:33 +01:00
Ivan Habunek f72e4ba844
Move code from toot.tui.base to toot.tui 2023-12-14 11:35:52 +01:00
Ivan Habunek 2f3f686a00
Rework how app, user are passed to context 2023-12-14 10:11:09 +01:00
Ivan Habunek 164016481d
Replace lists commands with subcommands 2023-12-13 16:14:46 +01:00
Ivan Habunek 7ba2d9cce5
Use click echo instead of print 2023-12-13 15:35:58 +01:00
Ivan Habunek fab23b9069
Reorganize cli imports
The old way did not allow for having multiple commands of the same name
2023-12-13 15:00:47 +01:00
Ivan Habunek 120545865b
Bump version to 0.40.0 2023-12-13 08:40:30 +01:00
Ivan Habunek 01f3370b89
Add `tags info` command 2023-12-13 08:40:02 +01:00
Ivan Habunek 381e3583ef
Add featured tag commands 2023-12-13 08:40:02 +01:00
Ivan Habunek 743dfd715e
Change `toot tags` to `toot tags followed` 2023-12-13 08:40:02 +01:00
Ivan Habunek a0caa88ffe
Add insurance policy 2023-12-13 08:40:02 +01:00
Ivan Habunek c7e01c77f2
Add --json option to tag commands 2023-12-13 08:40:02 +01:00
Ivan Habunek 63691a3637
Allow editor when not in tty
I was told there are legitimate use cases I was not aware of.
2023-12-11 13:59:05 +01:00
Ivan Habunek 0f4f0b3863
Don't page lists, they don't support paging 2023-12-08 08:44:24 +01:00
Ivan Habunek 9098279d40
Replace tags_* commands with a group 2023-12-08 08:23:17 +01:00
Ivan Habunek 0848a6f7df
Add shell completion for account names 2023-12-07 19:45:13 +01:00
Ivan Habunek bbf67c6736
Pass tui options through cli options 2023-12-07 19:27:26 +01:00
Ivan Habunek ac77ea75ce
Remove unused code 2023-12-07 19:11:12 +01:00
Ivan Habunek 11cfa5834b
Remove default from environment variable
Click already does that for us.
2023-12-07 10:23:17 +01:00
Ivan Habunek 8e7a90e8da
Remove unused code 2023-12-07 10:23:05 +01:00
Ivan Habunek a4cf678b15
Extract print_divider 2023-12-07 10:06:39 +01:00
Ivan Habunek bf5eb9e7f8
Add --width option 2023-12-07 10:03:33 +01:00
Ivan Habunek ac7964a7b4
Use cached fn to get settings 2023-12-05 12:00:45 +01:00
Ivan Habunek bbb5658781
Overhaul output to use click 2023-12-05 11:55:09 +01:00
Ivan Habunek e89cc6d590
Load command defaults from settings 2023-12-05 10:56:28 +01:00
Ivan Habunek d91f3477a8
Simplify main
No need to handle this stuff here
2023-12-05 10:45:18 +01:00
Ivan Habunek 78f994c0f1
Make toot instance work with instance domain name 2023-12-05 10:18:34 +01:00
Ivan Habunek b539c933ef
Respect --no-color 2023-12-05 09:59:40 +01:00
Ivan Habunek a653b557b4
Fix formatting 2023-12-05 09:25:02 +01:00
Ivan Habunek a8aeb32e18
Fix typing not to break older python versions 2023-12-05 09:15:39 +01:00
Ivan Habunek 05dbd7bb57
Fix bug in media upload 2023-12-05 08:58:18 +01:00
Ivan Habunek 24866bd4e4
Improve types 2023-12-05 08:15:27 +01:00
Ivan Habunek b9d0c1f7c2
Delete unused code 2023-12-04 18:46:45 +01:00
Ivan Habunek eaaa14cfc2
Use click.echo to output text 2023-12-04 18:45:40 +01:00
Ivan Habunek 452b98d2ad
Delete old command implementations 2023-12-04 17:51:06 +01:00
Ivan Habunek 4dfab69f3b
Add tui command 2023-12-03 13:53:52 +01:00
Ivan Habunek 3947b28de5
Add upload command 2023-12-03 13:45:24 +01:00
Ivan Habunek 84396fefc2
Improve variable naming 2023-12-03 13:32:51 +01:00
Ivan Habunek 2429d9f751
Migrate timeline commands 2023-12-03 13:29:31 +01:00
Ivan Habunek d8c7084678
Migrate auth commands 2023-11-30 20:12:04 +01:00
Ivan Habunek 696a9dcc2e
Add type hints for App and User 2023-11-30 20:10:19 +01:00
Ivan Habunek 16e28d02c6
Fix getting the instance domain name
This used to return 3000 when running locally on localhost:3000
2023-11-30 11:58:57 +01:00
Ivan Habunek 5d9ee44cec
Migrate list commands 2023-11-29 12:11:41 +01:00
Ivan Habunek c0eb76751f
Migrate update_account command 2023-11-28 16:56:53 +01:00
Ivan Habunek 3dc5d35751
Migrate account commands 2023-11-28 14:05:44 +01:00
Ivan Habunek 51fcd60eb5
Migrate status commands 2023-11-28 12:26:08 +01:00
Ivan Habunek d6678e0498
Migrate post command 2023-11-28 11:53:43 +01:00
Ivan Habunek 096ec09684
Add toot --version 2023-11-28 10:13:20 +01:00
Ivan Habunek 9ecfa79db8
Setup click, migrate read commands 2023-11-28 10:13:05 +01:00
Ivan Habunek 1c5abb8419
Improve from_dict performance by caching fields 2023-11-26 09:16:21 +01:00
Ivan Habunek 48d9caef05
Improve typing in wcwidth module 2023-11-24 09:52:41 +01:00
Ivan Habunek a6bbe97332
Add changelog, bump version 2023-11-22 08:50:17 +01:00
Ivan Habunek 7929919ffc
Add --json option to update_account 2023-11-22 08:41:15 +01:00
Ivan Habunek e961bd696d
Make account optional in following and followers 2023-11-22 08:22:21 +01:00
Ivan Habunek 443f9445b1
Add --json option to account commands 2023-11-21 18:16:37 +01:00
Ivan Habunek 016ae25569
Add --json option to various status commands 2023-11-21 16:51:02 +01:00
Ivan Habunek 4203e8d313
Dedupe duplicate function 2023-11-21 16:51:02 +01:00
Ivan Habunek 7793d4499a
Add --json option to post command 2023-11-21 16:51:02 +01:00
Ivan Habunek 3530553a06
Add --json option to status and thread commands 2023-11-21 16:51:02 +01:00
Ivan Habunek ae7a36b8d8
Add --json option to search command 2023-11-21 16:50:55 +01:00
Ivan Habunek 0c37716de1
Add --json option to instance command 2023-11-21 16:50:19 +01:00
Ivan Habunek 57be6beae8
Log request exceptions 2023-11-21 16:50:19 +01:00
Ivan Habunek 9664d71b57
Make get_instance return the response instead of json 2023-11-21 16:50:19 +01:00
Ivan Habunek 45962b27c3
Fix search sending type=None if not specified 2023-11-21 16:48:12 +01:00
Ivan Habunek cd03486a25
Remove unused imports 2023-11-19 12:48:22 +01:00
Ivan Habunek 5a83cd7d3b
Read media viewer from settings 2023-11-19 12:15:26 +01:00
Ivan Habunek ef19449190
Load followed accounts after timeline
This way we don't have to wait for them to load, which may take a while
due to paging.
2023-11-19 09:12:42 +01:00
Ivan Habunek 8c3fd12005
Fix style 2023-11-18 15:53:14 +01:00
Ivan Habunek 4a3b14313c
Fix compat with older versions of python 2023-11-18 15:48:28 +01:00
Ivan Habunek 0265f7e0b7
Fix tests 2023-11-18 15:44:50 +01:00
Ivan Habunek 3de561a060
Add --json argument to whois command 2023-11-18 15:42:04 +01:00
Ivan Habunek dd16627c89
Update print_account to take an Account object 2023-11-18 15:42:02 +01:00
Ivan Habunek 2c4f7e17c9
Add --json option to whoami command 2023-11-18 15:40:51 +01:00
Ivan Habunek 6cdba16fcf
Make verify_credentials return the http response
Required if we want to emit json without decoding it
2023-11-18 15:40:50 +01:00
Ivan Habunek 317840b019
Merge pull request #415 from ihabunek/danschwarz-richtext3
Add support for rich text
2023-11-18 15:40:35 +01:00
Ivan Habunek fe8b441b5b
Add hack to work around a pleroma bug 2023-11-18 12:32:35 +01:00
Ivan Habunek 8d1edd5374
Fix compat with older python versions 2023-11-18 11:25:52 +01:00
Ivan Habunek 59adec3e55
Improve error when conversion fails 2023-11-18 11:18:30 +01:00
Ivan Habunek 05c5bcb723
Convert datetimes to local timezone by default 2023-11-18 10:25:52 +01:00
Ivan Habunek d4b6447d0f
Bump version, add changelog 2023-11-16 16:41:15 +01:00
Ivan Habunek 2b8727bf09
Roll back workaround to support pleroma
Fixed in previous commit.
2023-11-16 15:15:38 +01:00
Ivan Habunek fe48f9a17e
Add a way to preprocess the data before decoding
Use it to modify the data returned by the Pleroma API which does not
conform to the current Mastodon API definition.

See:
https://git.pleroma.social/pleroma/pleroma/-/issues/1470#anchor-310
2023-11-16 15:15:26 +01:00
Ivan Habunek 57cfd41613
Remove old stubs 2023-11-16 11:50:25 +01:00
Ivan Habunek d6ff3cc3a8
Extract url_to_widget, add fallback 2023-11-16 11:46:54 +01:00
Ivan Habunek e5ac82bb01
Add fallback for html_to_widgets
Remove has_urwidgets since we no longer need to worry if we have
urwidgets in the richtext module.
2023-11-16 11:36:18 +01:00
Ivan Habunek f96b1b722c
Move richtext to it's own module
This is the first step towards easier stubbing
2023-11-16 11:12:54 +01:00
Ivan Habunek f50dea1175
Simplify text_to_widget
This was doing double regex matching, calling parse_text was not needed
at all.
2023-11-16 11:09:32 +01:00
Sandra Snan 560b91700f
Ask for 639-1 consistently 2023-11-16 10:11:35 +01:00
Ivan Habunek 073dd3025c
Remove the ContentParser class, use functions instead
It did not help, just added to the indent.
2023-11-06 18:23:35 +01:00
Ivan Habunek a544453338
Remove magic lookup
Having the choice explicit makes the code easier to read.
2023-11-06 18:22:09 +01:00
Ivan Habunek ce6faccb99
Extract render method 2023-11-06 17:43:02 +01:00
Ivan Habunek 2aba3f93f9
Extract block tags 2023-11-06 09:56:12 +01:00
Ivan Habunek a8b4c79716
Eliminate constructor 2023-11-06 09:36:30 +01:00
Ivan Habunek 199a96625b
Extract parsing html 2023-11-04 07:53:40 +01:00
Ivan Habunek d91c73520e
Better function name 2023-11-04 07:38:47 +01:00