59b98a7f33
Improve colorize
2022-12-02 08:50:34 +01:00
0e13914fce
Add duration parsing
2022-12-01 10:20:50 +01:00
6ae2ed623a
Add test for scheduled statuses
2022-12-01 08:35:55 +01:00
d76a2ee967
Bump version, update changelog
2022-11-30 13:51:00 +01:00
de2547cfa1
Refactor post function to make it more readable
2022-11-30 12:44:20 +01:00
4ccc547830
Don't default to media URLs if no text is given
2022-11-30 08:56:10 +01:00
7b4063fddc
Remove use of deprecated status.text_url
2022-11-30 08:55:46 +01:00
e396768d15
Bump version, add changelog
2022-11-29 11:54:45 +01:00
a0353f9bbe
Remove unused imports
2022-11-29 11:07:02 +01:00
942dd36cd6
Fix tests
2022-11-29 10:08:21 +01:00
Peter Fidelman
1d26ecd489
Add zoom command to open status in scrollable popup window
2022-11-29 09:40:48 +01:00
916b4cc4bf
Extract code for printing a poll
2022-11-29 09:20:00 +01:00
Daniel Schwarz
f15310cc75
Display polls in command line status output
...
Also display your own votes in toot tui poll displays.
2022-11-29 09:03:19 +01:00
7b194880a0
Remove duplicate search api fn
2022-11-27 09:56:58 +01:00
ebc17e0764
Make toot instance work with localhost
...
Asserting the domain exists does not bring much value.
2022-11-27 09:56:04 +01:00
d308475afe
Fix key detection
2022-11-27 09:26:09 +01:00
654bc06166
Fix formatting
2022-11-24 11:21:01 +01:00
d03a329b1a
Improve print_instance
2022-11-24 11:21:01 +01:00
db6d8c6d73
Catch request errors
2022-11-24 11:21:00 +01:00
5c10479d65
Add api endpoint for fetching a single status
2022-11-24 11:21:00 +01:00
44be9fd8bb
Add api endpoint for registring an account
2022-11-24 11:20:59 +01:00
b15cb85a23
Standardize http request method parameters
...
This allows setting either json or data. Until now we were always using
data and this is not enough for some endpoints.
2022-11-24 11:20:59 +01:00
Nick LaForge
8c3baa704e
Fix typo
2022-11-23 15:39:26 +01:00
Daniel Schwarz
9abaebdc21
Updated patch
...
Corrected code here
2022-11-22 07:16:27 +01:00
5aa779ef06
Bump version
2022-11-21 09:45:51 +01:00
ceedc0e448
Fix timezone to UTC when running tests
...
fixes #227
2022-11-21 09:06:58 +01:00
0b671be0c6
Use exisiting functon to parse datetime
2022-11-21 08:35:23 +01:00
Peter Fidelman
0d20a4878b
IMPROVED VERSION: Show media attachments in the "L" list of links
2022-11-21 08:35:11 +01:00
12d682591b
Fix command descriptions
2022-11-18 08:28:15 +01:00
Giuseppe Bilotta
e171578878
Implement following/followers list retrieval
2022-11-18 08:23:12 +01:00
44a30b44d8
Add toot (un)bookmarking
...
fixes #204
2022-11-17 06:32:12 +01:00
ec16ba0bbf
Bump version, add changelog
2022-11-12 09:21:00 +01:00
e318581dd1
Don't break if poll doesn't have an expiry date
2022-11-12 07:55:25 +01:00
24cfa48dea
Change how toot is entered in editor
...
This approach allows posting lines which start with a #.
2022-11-12 07:29:08 +01:00
Lars Kellogg-Stedman
5c2f9dcf7c
Add a suffix to temporary files when composing toot in an editor
...
This enable suffix-based configuration in your editor when editing toots.
Closes #219
2022-11-11 15:08:25 +01:00
K
89585b6761
Use v2 endpoint for account search
2022-11-09 16:46:24 +01:00
Josh Soref
67bea207cd
Spelling fixes ( #215 )
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 14:24:48 +01:00
Andy Loven
3315a87463
Local time in toot timeline
2022-11-08 07:11:26 +01:00
Evan Smith
8b274eeaa1
Normalise usernames when searching
2022-11-08 07:10:49 +01:00
dad08d5b40
Prepare release 0.28.0
2021-08-28 21:19:43 +02:00
9e046b6d86
Add --content-type option to toot post
2021-08-28 21:08:44 +02:00
a3eb5dca24
Allow piping the password to login_cli
...
This is useful for testing where entering a password manually is not
possible.
2021-08-28 20:36:10 +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
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
d884379f2e
Allow string status and list ids
...
Favourites and reblogs also use this id and it's sometimes strings.
2020-09-29 10:06:18 +02:00
62d7855fc0
Remove curses app, replaced by tui
2020-09-29 10:04:57 +02:00
103bc43c26
Reply to non-int, and also longer posts, Pleroma style
2020-09-01 16:11:12 +02:00
957eec6f40
Bump version, add to changelog
2020-06-15 21:08:39 +02:00
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
Eyal Sawady
bf168be87d
Fix crash on empty timeline
2020-05-20 08:26:09 +02:00
3829a57909
Add --reverse option to notifications
...
fixes #151
2020-05-11 13:51:07 +02:00
Denis Laxalde
3efa330d69
Display a message in footer upon [P]in action
...
And clear the message after 5s.
2020-05-11 13:21:00 +02:00
Denis Laxalde
4d1fa837a1
Let <Esc> move back to "home" timeline
...
When not in overlay mode, we handle <Esc> key press to get back to the
"home" timeline. This allows to navigate quickly from another timeline
to the home one, without getting through the "go to" menu.
2020-05-11 13:21:00 +02:00
Denis Laxalde
69f110b474
Make [P]in action toggle save of hashtag timeline
...
If currently viewed timeline is saved, [P] unsaves it.
2020-05-11 13:20:59 +02:00
Denis Laxalde
3e11153640
Add a [P]in action to save a hashtag timeline
...
This goes along with the ability to "go to" a saved hashtag timeline.
We need to pass the "local" flag down build_timeline() method so that
this is also saved. Note that we cannot save both a local and a
federated timeline for the same hashtag: I'm not sure it's worth
supporting both options?
2020-05-11 13:20:54 +02:00
Denis Laxalde
949b5552ca
Sort keys when saving JSON config
...
This helps keeping changes minimal when rewritting from the program.
2020-05-11 13:20:08 +02:00
Denis Laxalde
9d3d38552e
Display saved timelines in "goto" menu
...
We introduce "saved timelines" as a new entry in configuration file. For
now, we only save whether the timeline is local or not. Timeline save is
not implemented yet, only retrieval from config file and display is
handled at the moment. Saved timelines in the goto menu.
2020-05-11 13:20:07 +02:00
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
ad96143ee0
Censor authorization header value in logs
2020-05-11 12:46:27 +02:00
bc96cf7eea
Bump version, add changelog
2020-04-15 14:28:17 +02:00
8b9ca7e243
Don't show links window if no links are found
2020-04-15 14:12:30 +02:00
Denis Laxalde
28e1281187
Add an action to display status links and open them
...
We add a new [L]inks action that opens an overlay window with links
found in the content of selected status. Links are selectable and upon
click/enter we open the web browser at link's URL.
2020-04-15 14:11:31 +02:00
5fc46d0cfc
Fix datetime parsing on python 3.5
...
datetime.astimezone supports native datetimes only since python 3.6
fixes #162
2020-04-15 14:01:23 +02:00
Finn O'leary
a6e76e0bcb
Fix VISIBILITY_OPTIONS
...
Reorder Visibility Options to be from "most visible" to "least visible",
and swap the definitions of "private" and "unlisted" to match the actual
visibility that results from those actions.
2020-01-26 10:19:24 +01:00
a958573d8d
Bump version, changelog
2020-01-23 13:24:49 +01:00
Denis Laxalde
690a91ce04
Fall back to "username" when "display_name" is unset
...
We add a "username" field to Author entity, this is then used when
displaying the "reblogged by" information when respective account has no
display name.
2020-01-22 08:13:48 +01:00
1b2a9c4198
Bump version, changelog
2020-01-21 09:38:17 +01:00
6d18fd55a1
Quote hahtags before including them in an URL
...
Fixes searching by hashtag which include the #.
issue #134
2020-01-21 09:04:03 +01:00
60efc13338
Implement character count indicator when composing
...
Attempts to load max char count from the server on init.
issue #121
2020-01-03 09:15:11 +01:00
0fed933123
Fix typo
2020-01-02 10:34:00 +01:00
b6749fb0f1
Require auth for toot tui
2020-01-02 10:21:58 +01:00
d595cc5140
Don't use fstrings to keep support with python<3.7
...
fixes #131
2019-09-23 16:51:04 +02:00
cf78cd20ac
Upgrade to v2 search endpoint
2019-09-22 22:08:04 +02:00
35e03a13b1
Simplify access to reblogged status data
...
Adds two properties to `Status` entity:
* `reblog` - contains the reblogged Status or None if not a reblog
* `original`- contains the reblogged Status or self if not a reblog
Anywhere where you wish to show a reblogged status's property when it's
a reblog, or the base status proprety if not a reblog, use
`status.original.<property>`.
2019-09-22 18:56:03 +02:00
bc6e43376a
Bump version, add changelog
2019-09-18 21:57:55 +02:00
Denis Laxalde
9623219959
Include mentions and replied-to account in compose text
...
We add a "mentions" attribute to Status. Then when composing a reply, we
fill the edit text of the compose box with the account name of status
being replied to and possibly include mentions at the bottom of the edit
text. Initial cursor position is set after replied account name.
2019-09-18 21:42:55 +02:00
Kai Zhang
a76f4ae815
Set urwid global encoding to UTF-8
...
so that many characters can be displayed
2019-09-18 21:41:02 +02:00
Denis Laxalde
9fb52fb0a1
Try to use media's text_url if present
...
This field is sometimes provides and gives a shortened URL which is
easier to click on in a terminal.
2019-09-13 12:54:08 +02:00
Denis Laxalde
a8774fc9ea
Indicate if status is a reblog in timeline
...
This is different from the "reblogged" yellow icon already displayed on
the left of account name which indicates if own status got reblogged.
This one indicates if displayed status is a reblog.
2019-09-12 10:48:04 +02:00
Denis Laxalde
e06478a798
Use original account information for reblogged statuses
...
Otherwise, we get the account name of reblogger in the timeline.
2019-09-12 10:48:04 +02:00
5343319333
Improve config dir location
...
On Windows store config in roaming appdata.
2019-09-08 15:06:35 +02:00
130ef9a608
Remove legacy configuration file handling
2019-09-08 14:36:37 +02:00
Your Name
7fc39379c9
Check for existance of key in dictionary
...
as well as non-null value to avoid uncaught KeyError
re: issue #116
2019-09-07 23:20:50 +02:00
Denis Laxalde
9d0d1b2dd7
Make "view" action work for reblogged statuses
...
When the status is a reblog, the URL of the original toot should be used
as the one of reblog is null.
We add a "url" attribute to Status class storing computed URL.
2019-09-06 16:01:04 +02:00
Rasmus Lindroth
3a56243878
Escape closes timeline
...
As Escape does the same as Q when closing the app and overlays, it should do the same with timelines
2019-09-06 15:51:32 +02:00
367ced2eef
Don't use ANSI color codes when not desired
...
Which is when not supported by terminal or when not in a tty.
2019-09-06 15:03:47 +02:00
1d3ff87ffa
TUI: Implement deleting own status messages
2019-09-04 16:16:16 +02:00
7309e5bb53
Bump version
2019-09-04 08:39:18 +02:00
e310482cb6
Fix date parsing bug
...
issue #114
2019-09-04 08:36:12 +02:00
70faf47c91
Bump version
2019-09-03 16:31:47 +02:00
Denis Laxalde
efbaf9e706
Indicate if status is a reply in timeline of TUI
2019-09-03 15:40:50 +02:00
cf01cb9014
Cleanup palette slightly
2019-09-03 15:40:49 +02:00
05972fc6fa
Show application used to post status
2019-09-03 15:40:49 +02:00
7e04ad55c6
Add links to help overlay
2019-09-03 15:40:49 +02:00
3a11e470fb
Extract overlays from app.py
2019-09-03 15:40:49 +02:00
c1f518765c
Fix missing padding
2019-09-03 15:40:49 +02:00
d5a2cc27ed
Add help
2019-09-03 15:40:48 +02:00
41f997199a
Add padding to status details
2019-09-03 15:40:48 +02:00
51afcf7e34
Add goto hash timeline
2019-09-03 15:40:48 +02:00
350138324b
Add basic timeline switching
2019-09-03 15:40:48 +02:00
07e6c372bc
Prepare for context menu
2019-09-03 15:40:48 +02:00
1dce948166
Show content warning in status details
2019-09-03 15:40:47 +02:00
85ceb8b11f
Update docs to replace curses with tui
2019-09-03 15:40:47 +02:00
98b783836a
Mark toot curses as deprecated
2019-09-03 15:40:47 +02:00
7f6f128f38
Show media in image viewer
2019-09-03 15:40:47 +02:00
31462fe6f8
Implement replies
2019-09-03 15:40:46 +02:00
9c74c1d9e6
Housekeeping
2019-09-03 15:40:46 +02:00
ab1fc6961b
Show media in status details
2019-09-03 15:40:46 +02:00
5213eb1835
Focus status after posting
2019-09-03 15:40:46 +02:00
4deccee754
Decouple Timeline and TUI, use signals instead
2019-09-03 15:40:46 +02:00
1a8c515922
Implement thread (status context) view
2019-09-03 15:40:46 +02:00
5ec8d9411d
Propagate visibility when posting status
2019-09-03 15:40:45 +02:00
672bb5d008
Add reply, reblog and favourite counters
2019-09-03 15:40:45 +02:00
db76b004cf
Simplify linebox rendering in status details
2019-09-03 15:40:45 +02:00
f6fcb2a821
Timeline: add divider, move columns, boost icon
2019-09-03 15:40:45 +02:00
9784fb8eb5
Don't crash if no url present
2019-09-03 15:40:45 +02:00
871e2bc960
Render polls
2019-09-03 15:40:45 +02:00
9aadec6cfb
Add option to set status visibility
2019-09-03 15:40:44 +02:00
4f30c177d6
Ditch status index list for now
...
Simplifies things, makes update_status slightly slower, but no biggie.
2019-09-03 15:40:44 +02:00
366e9382d3
Implement posting statuses
2019-09-03 15:40:44 +02:00
b95aca964f
Show an intro screen while loading initial toots
2019-09-03 15:40:44 +02:00
fb14c262e0
Show exception stack trace on error
2019-09-03 15:40:44 +02:00
372976b1b2
Overhaul async actions, implement boost and reblog
2019-09-03 15:40:43 +02:00
2349173a45
Tweaks
2019-09-03 15:40:43 +02:00
2be8cb8438
Show status source
2019-09-03 15:40:43 +02:00
2d8199646f
Boosted by improvements
2019-09-03 15:40:43 +02:00
dd1b462413
Highlight hashtags
2019-09-03 15:40:43 +02:00
7da2e2dbbc
Handle reblogs
2019-09-03 15:40:43 +02:00
f68f5d5716
Load next when at bottom of list
2019-09-03 15:40:42 +02:00
c99999161d
Render status details
2019-09-03 15:40:42 +02:00
ea1ef6f207
Initial implementation of a TUI using Urwid
2019-09-03 15:40:42 +02:00
Viktor Villainov
616483d78a
Remove double process_response function call
...
since it's called in anon_post already
2019-09-03 09:04:32 +02:00
6f8cd86417
Fix compatibility with py<3.6
2019-08-29 12:46:00 +02:00
73ba70eb83
Create config file with 0600 permissions
...
It contains secrets and should not be readable by others.
fixes #109
2019-08-27 13:20:22 +02:00
d21cad892c
Implement composing tweets using an editor
...
fixes #90
2019-08-22 17:37:24 +02:00
840b2fd476
Set the user agent string to all requests
...
Fixes issue with accessing instances using Cloudfare DDOS protection.
issue #106
2019-08-07 22:58:30 +02:00
e108f370e1
Bump version
2019-08-01 13:25:45 +02:00
a771ca3aa7
Enable attaching multiple media files
...
fixes #67
2019-08-01 12:56:21 +02:00
a7e4f9d888
Add --language option to post command
...
Used to override language detection.
2019-07-30 16:13:29 +02:00
d13fa8685b
Merge pull request #101 from Skehmatics/fix-resize
...
Fix various resize issues
2019-04-25 14:58:08 +02:00
Derek Schmidt
cb3885b20b
Fix #100
...
Using self.panel.hide() without calling
curses.panel.update_panels() before next refresh can really mess
stuff up. As far as I can tell, this was the real cause of #100 .
This changes that call to the Modal's hide method instead, which
will keep this sort of issue from coming up again (hopefully)
2019-04-25 14:46:01 +02:00
Derek Schmidt
5c8f3b5978
Fix crash on window open
...
Missed a call when changing refresh to refresh_text
2019-04-24 21:32:28 -07:00
Derek Schmidt
b9e9eea295
Redaw footer and header after panels
...
Fix left panel overlaping the footer on full_redraws
2019-04-24 16:57:55 -07:00
Derek Schmidt
24421fcb53
Fix resize when modals are visible
...
Use a callback function to allow items farther up in the stack
to have their own resize logic. This also requires a slight
change to the main TimelineApp to stay DRY
2019-04-24 16:57:52 -07:00
aff0c2281f
Improve keystroke handling
2019-04-24 14:05:28 +02:00
c862df8e40
Run curses with 20 statuses per page by default
2019-04-23 14:12:29 +02:00
912e7c8bc4
Nicer header for curses
2019-04-23 13:53:06 +02:00
b9743ba268
Simplify windows setup
2019-04-23 13:31:17 +02:00
92810459c7
Change content warning shortcut to ^W
...
^S will freeze most terminals
2019-04-16 14:37:34 +02:00
Derek Schmidt
747c5a611f
Add posted status / reply to the top of the timeline on submit
2019-04-16 14:21:08 +02:00
Derek Schmidt
2a6206903f
Mention EOT rather than RS
...
In my testing, not all terminal emulators have the same ctrl+enter
key accelerator for the ascii record seperator, so mention EOT
instead but still leave it in for those that might like it better.
2019-04-16 14:21:08 +02:00
Derek Schmidt
5d652754ec
Slightly redesign the modal to be more like a window
...
+ Only do a full draw on init, and just refresh on updates / show
+ Better differenciate "No content" vs "quit"
+ Reset the cursor position when content is cleared
2019-04-16 14:21:08 +02:00
Derek Schmidt
073d340908
Change control scheme to make more sense
...
Ctrl+Enter (or the standard ^D / EOT) to confirm, Escape to quit.
Since we're asking for a raw escape, we also need to tweak the
curses escape detection timeout a little, otherwise the user would
have to wait a whole second for the keystroke to register
2019-04-16 14:21:08 +02:00
Derek Schmidt
45bf2acba1
Default to CW of parent status when replying
2019-04-16 14:21:07 +02:00
Derek Schmidt
7f5c201925
Minor compose window cleanup / misc fixes
...
+ Remove excess padding on width
+ Rename TextModal to EntryModal
+ Remove duplicate delete key handler
+ Redraw when CW modal closes
+ Return empty string rather than None
2019-04-16 14:21:07 +02:00
Derek Schmidt
a367f78cbb
Handle screen position when newline only lines exist
2019-04-16 14:21:07 +02:00
Derek Schmidt
2b3b14c8b7
Impliment a custom textbox-like modal
...
The actual curses provided textbox has issuses with adding
newlines to the toot body when the text wraps to fit,
so I've implimented a basic textbox using draw_lines and an
internal text body (rather than relying on the curses window
contents.
2019-04-16 14:21:07 +02:00
Derek Schmidt
26f49e460e
Make help text less wordy
2019-04-16 14:21:07 +02:00
Derek Schmidt
a641543922
Add basic reply functionality
2019-04-16 14:21:07 +02:00
Derek Schmidt
c7526941d2
Add cw / spolier_text setting within compose window
...
And also make things probably more complicated than neccesary
oops
2019-04-16 14:21:07 +02:00
Derek Schmidt
6bb2f98ad2
Add basic text compose + posting
2019-04-16 14:21:06 +02:00
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
f7167e0880
Bump version
2019-02-15 14:14:22 +01:00
d224375da4
Consolidate timeline selection arguments
...
toot timeline and toot curses now use the same logic.
2019-02-15 14:13:12 +01:00
abb1b436ca
Fix typo
2019-02-15 14:13:11 +01:00
10595be865
Show full account name in timeline
2019-02-15 14:13:11 +01:00
Denis Laxalde
5a867f2380
Show number of replies/reblogs/favourites in status footer of curses ui
...
When parsing "replies_count" from status data, we allow the field to be
absent as it got added in version 2.5.0 (in constrast with other ones,
added in 0.1.0) as there might be servers with that version around.
2019-02-15 12:55:55 +01:00
Denis Laxalde
4bc963a236
Indicate if status is a reply in left pane of curses ui
2019-02-15 12:47:42 +01:00
Denis Laxalde
3d0c7be1e0
Indicate if status has been favorited in left pane of curses ui
...
Showing a yellow star in the right corner of second line.
2019-02-14 20:39:58 +01:00
Denis Laxalde
41d96249ba
Add favourite/unfavourite actions to curses ui
2019-02-14 20:21:48 +01:00
d7cc97d2c7
Tweaks to status boosting in curses app
2019-02-14 18:04:05 +01:00
Denis Laxalde
c6bc4a695f
Add reblog/unreblog actions to curses ui
...
This is implemented using "b" key to toggle reblog/unreblog based on the
value of "reblogged" field in status data.
2019-02-14 17:58:55 +01:00
Denis Laxalde
066589bf53
Display a ↷ in status detail window if status got reblogged
2019-02-14 17:58:55 +01:00
Denis Laxalde
f1c8465e63
Add a "reblogged_by" command
2019-02-14 17:58:47 +01:00
Denis Laxalde
5514c47bca
Store status id in parse_status()
2019-02-14 17:58:22 +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
e6d585ae5d
Nicer timeline output
2019-02-14 17:31:48 +01:00
996228d224
Employ wcstring utils to improve rendering
2019-02-14 15:47:40 +01:00
8a3ff94e47
Consolidate wcwidth-related utils in one module
2019-02-14 15:45:27 +01:00
769ff9e406
Add wcstring utils
2019-02-14 15:23:46 +01:00
8805a50194
Cleanup utils dealing with wcwidth strings
2019-02-14 14:21:53 +01:00
Denis Laxalde
0bf4b2a21a
Fix left column padding in timeline with wide characters
...
When the left column contains wide characters (which occupy more than
one cell when printed to screen), padding to 30-characters with
"{:30}".format() does not work well. This happens for instance when the
display name contains unicode characters such as emojis.
We fix this by introducing a pad() function in utils module which uses
the wcwidth library (https://pypi.org/project/wcwidth/ ) to compute the
length of the text for the column. trunc() function is also adjusted to
optionally compute the length of the text to be truncated since, when
called from pad(), we now pre-compute this value.
We update test for timeline rendering so that the display name now
includes an emoji. (Without the fix, the test would not pass as left
column would be misaligned.)
2019-02-14 14:21:53 +01:00
a3ebd96e05
Mark function as private
2019-02-13 14:19:27 +01:00
19cbcd43b2
Make toot timeline
continuable by pressing Enter
2019-02-13 14:19:00 +01:00
0dfb04e9e3
Ignore bs4 warnings
...
These are triggered by false positives and get printed to screen when
running `toot curses`.
2019-02-13 13:38:37 +01:00
32b1c67d49
Make boolen params a bit less verbose
2019-01-24 11:23:12 +01:00
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
e42c4c3b80
use http.get instead of hacking _status_action in api.py
...
(and fix a typo)
2019-01-21 17:25:20 +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
3ac8e59dec
Bump version
2019-01-02 12:51:49 +01:00
82ed630864
Add status related commands
...
(un)favourite, (un)reblog & (un)pin.
fixes #75
2019-01-02 12:33:25 +01:00
fc57d2695a
Merge pull request #83 from dlax/apos
...
Replace ' by "'" before parsing HTML
2019-01-02 11:39:21 +01:00
14a580bc19
Make toot post prompt for input if no text is given
...
fixes #82
2019-01-02 10:50:56 +01:00
Denis Laxalde
0f6bd920c3
Replace ' by "'" before parsing HTML
...
Beautiful will does not parse HTML entities like `'` as we expect
and the previous logic of replacing this *after* HTML parsing occurred
did not produced expected results.
To illustrate this, we change data in "test_timeline" to include a
literal `'` as it sometimes occur in data returned by Mastodon API.
New HTML content is:
<p>The computer can't tell you the emotional story [...] </p>
Beautiful will parse this as as:
<p>The computer can&apost tell you the emotional story [...] </p>
which is not what we expect.
We fix this by replacing `'` *before* HTML parsing by Beautiful.
Since test data in "test_timeline" got updated we also add an extra
assertion checking that part of the content with a literal "'" is
(still) properly rendered.
2019-01-01 23:14:54 +01:00