Commit Graph

116 Commits

Author SHA1 Message Date
Ivan Habunek ebc17e0764
Make toot instance work with localhost
Asserting the domain exists does not bring much value.
2022-11-27 09:56:04 +01:00
Ivan Habunek 654bc06166
Fix formatting 2022-11-24 11:21:01 +01:00
Giuseppe Bilotta e171578878 Implement following/followers list retrieval 2022-11-18 08:23:12 +01:00
Ivan Habunek 44a30b44d8
Add toot (un)bookmarking
fixes #204
2022-11-17 06:32:12 +01:00
Evan Smith 8b274eeaa1 Normalise usernames when searching 2022-11-08 07:10:49 +01:00
Sandra Snan 9e046b6d86
Add --content-type option to toot post 2021-08-28 21:08:44 +02:00
Stacy Harper 6115cea43e
Prevent toot timeline to break when piped to extenal programs
Toot timeline try to ask the user to continue in the next page. This
doesn't works if the command is piped to any other software.

We stop the query in the first loop when not in a tty context. The
command should be called with the expected item count in this case.
2021-08-28 20:14:30 +02:00
ansuz ec097886d8
Support adding description to media 2021-08-28 18:47:07 +02:00
Ivan Habunek 7e0da50603
Add option for scheduling tweets 2021-08-28 17:39:31 +02:00
alex wennerberg 0b6d4a9e87
Add mentions-only parameter to notifications command 2021-07-29 10:08:58 +02:00
Ivan Habunek 62d7855fc0
Remove curses app, replaced by tui 2020-09-29 10:04:57 +02:00
Ivan Habunek ad272f521b
Fix timeline generator to respect --instance option
Access the anon public & tag timelines in this case. This makes it
possible to see those timelines without being logged in.
2020-06-15 21:08:02 +02:00
Ivan Habunek 3829a57909
Add --reverse option to notifications
fixes #151
2020-05-11 13:51:07 +02:00
Ivan Habunek 3b5769acc0
Use authorized get to fetch public and tag timelines
Some servers require authorization for viewing "public" timelines, and
since currently toot always requires auth for this it's not required to
support anon access to timelines.

fixes #168
2020-05-11 12:59:50 +02:00
Ivan Habunek ea1ef6f207
Initial implementation of a TUI using Urwid 2019-09-03 15:40:42 +02:00
Ivan Habunek d21cad892c
Implement composing tweets using an editor
fixes #90
2019-08-22 17:37:24 +02:00
Ivan Habunek a771ca3aa7
Enable attaching multiple media files
fixes #67
2019-08-01 12:56:21 +02:00
Ivan Habunek a7e4f9d888
Add --language option to post command
Used to override language detection.
2019-07-30 16:13:29 +02:00
Ivan Habunek 474d9c432f
Move notification printing to output module
Removed sorting, since notifications are already sorted.
2019-04-16 14:12:42 +02:00
Denis Laxalde 204d4d4138 Handle absence of notification in 'notifications' command 2019-02-17 15:02:05 +01:00
Denis Laxalde 6360e4d07d Add a --clear option to "notifications" command 2019-02-17 14:18:51 +01:00
Denis Laxalde 5174a751f2 Implement "notifications" command
The list of notifications is diplayed with each item enclosed within an
horizontal line as for timeline. When a status is involved (when
notification type is "reblog" or "favourite"), we also display the full
status.

Closes #81.
2019-02-17 14:09:56 +01:00
Ivan Habunek d224375da4
Consolidate timeline selection arguments
toot timeline and toot curses now use the same logic.
2019-02-15 14:13:12 +01:00
Ivan Habunek abb1b436ca
Fix typo 2019-02-15 14:13:11 +01:00
Denis Laxalde f1c8465e63
Add a "reblogged_by" command 2019-02-14 17:58:47 +01:00
Denis Laxalde 834bdb67ac
Pass "app" and "user" to TimelineApp
We're going to need this context to issue API calls from the curses UI.
2019-02-14 17:58:22 +01:00
Ivan Habunek 19cbcd43b2
Make `toot timeline` continuable by pressing Enter 2019-02-13 14:19:00 +01:00
Ivan Habunek c7c42b8337
Merge pull request #85 from ksunden/localtag
Add local and tag timelines to curses
2019-01-24 11:20:58 +01:00
Balazs Nadasdi ee417df60e Status ID + thread view
- Status ID on timeline list view
 - thread command to view a complete thread
   Display order:
    - ancestors
    - status
    - descendants
2019-01-19 19:28:17 +01:00
ksunden 4df0c7882d ENH: Add local and tag timeline support to curses
Closes #61
2019-01-02 22:36:40 -06:00
Ivan Habunek 82ed630864
Add status related commands
(un)favourite, (un)reblog & (un)pin.

fixes #75
2019-01-02 12:33:25 +01:00
Ivan Habunek 14a580bc19
Make toot post prompt for input if no text is given
fixes #82
2019-01-02 10:50:56 +01:00
Ivan Habunek b06e9ea733
Enable fetching instance info over http
issue #56
2018-12-30 09:53:12 +01:00
Erica Ehrhardt fde84295e0 Add --disable-https flag 2018-12-24 17:20:30 -08:00
Waweic d910cf9420 Added an option to reverse the timeline
Added the (in my opinion) mission option to reverse the timeline by Adding a command and reversing the entries before they get printed out.
2018-07-25 20:40:59 +02:00
Ivan Habunek aabfd0fa31
Make browser login the default 2018-06-15 09:39:28 +02:00
Ivan Habunek 72f88831ad
Add delete command
issue #54
2018-06-14 10:40:16 +02:00
Ivan Habunek 8f93b255ad
Add option to reply to a toot
fixes #6
2018-06-13 13:21:22 +02:00
Ivan Habunek 10f68fdab7
Replace --list-id with --list
verbosity ftw
2018-06-12 11:53:10 +02:00
Ivan Habunek e1cfda1acb
Add support for tag and list timelines 2018-06-12 10:40:36 +02:00
kakakaya 406943237a
Support -l/--local argument in timeline command 2018-06-12 09:54:57 +02:00
Ivan Habunek ceb324e9b0
Move timeline printing code to output.py 2018-06-07 10:27:11 +02:00
Ivan Habunek fa4e4e6357
Add spoiler text and sensitive options to post
issue #63
2018-06-07 10:06:43 +02:00
Ivan Habunek e421d24c80
Move curses app into toot.ui module 2018-01-14 15:46:29 +01:00
Ivan Habunek 6149c9beda
Show public or home timeline in curses 2018-01-14 15:46:29 +01:00
Ivan Habunek 6a3c877270
Reimplement configuration to allow multiple logins
The configuration is now stored in a single json encoded file instead of
separate files.
2018-01-02 12:24:32 +01:00
Ivan Habunek fde6bd6125
Allow posting media without text
issue #24
2017-12-30 16:42:52 +01:00
Ivan Habunek 92d4dc745a
Use http methods instead of requests directly 2017-12-30 16:30:35 +01:00
Ivan Habunek 7bbc98363e
Extract exceptions 2017-12-30 13:32:52 +01:00
Ivan Habunek 177af4fac9
Fix code style 2017-12-30 13:14:37 +01:00
Ivan Habunek a50ffe62c3
Extract auth code to own file, add some tests 2017-12-30 13:05:47 +01:00
Ivan Habunek 787e0d28b4
Move printing logic to output 2017-12-29 14:42:51 +01:00
Ivan Habunek dfdad045f0
Add instance command 2017-12-29 14:26:40 +01:00
Ivan Habunek 609c432e68
Remove login_2fa command
It was a hacky way to log with 2fa without using a browser, but did not
work on half the instances. login_browser now exists and should be used
instead.
2017-12-29 12:08:51 +01:00
Ivan Habunek 1b86cdd404
Drop support for Python 2
It's hard to maintain both versions, having unicode issues in py2, etc.
2017-12-29 11:31:21 +01:00
Ivan Habunek 007d5539fa Fix Windows compatibility
Don't load curses until required. Since it's not available on windows,
importing the module early broke the whole app.

issue #18
2017-09-09 09:54:13 +02:00
Ivan Habunek 62c4075fe1 Implement proper two factor authentication
fixes #19, #23
2017-08-26 14:39:53 +02:00
Ivan Habunek fff5c8bc98 Allow passing instance and email to login command 2017-08-26 11:34:32 +02:00
Ivan Habunek 39c2cc661d
Rework how colors are shown in the commandline
Add an option to disable colors.

fixes #15
2017-05-08 09:09:20 +02:00
Ivan Habunek 661d35675a
Nicer account output 2017-05-07 10:42:31 +02:00
Ivan Habunek 6766cf83b4
Search only accounts when looking for users
Instead of using general search.
2017-05-07 10:42:04 +02:00
Ivan Habunek 7563641f54
Add commands: (un)mute, (un)block 2017-04-26 11:49:21 +02:00
Ivan Habunek b3ef85b42d
Don't name file 'curses' to avoid conflicts 2017-04-24 09:38:07 +02:00
Ivan Habunek a3b207647b
Experimental curses app for viewing the timeline 2017-04-21 20:23:48 +02:00
Ivan Habunek 9b48432d04
Add whois command 2017-04-19 15:29:40 +02:00
Ivan Habunek 373f26424d
Rework how commands are defined 2017-04-19 14:47:30 +02:00