Commit Graph

55 Commits

Author SHA1 Message Date
Ivan Habunek f3439ad30d
Use entitites to simpliy print functions 2023-06-26 16:59:14 +02:00
Ivan Habunek c659ed7a5d
Fix tests 2023-03-30 12:09:38 +02:00
Ivan Habunek e2f9a354ac
Test media thumbnails 2023-03-03 11:44:40 +01:00
Ivan Habunek 14a286ef0d
Use v2 endpoint to upload media
v1 is deprecated
2023-03-03 09:03:33 +01:00
Ivan Habunek f52fe00d26
Pass params as dict 2023-02-04 09:01:48 +01:00
Ivan Habunek 71d3bbd91f
Fix tests 2023-02-02 09:03:12 +01:00
Ivan Habunek 2d8791e629
Remove coding directives, no longer needed 2022-12-31 09:31:32 +01:00
Ivan Habunek 02d358907c
Embrace f-strings 2022-12-12 12:47:45 +01:00
Ivan Habunek ef697c3bee
Show only registration date on whois
Time is not that relevant and causes noise
2022-12-12 12:47:45 +01:00
Ivan Habunek 47be3a762a
Fix language specification
Old API docs claimed to require ISO 639-2 format, testing determines
that that ISO 639-1 is required instead.
2022-12-11 23:15:07 +01:00
Ivan Habunek d6f5728486
Don't send null parameters when posting
fixes #250
2022-12-07 15:03:39 +01:00
Ivan Habunek 7b4063fddc
Remove use of deprecated status.text_url 2022-11-30 08:55:46 +01:00
Ivan Habunek 7b194880a0
Remove duplicate search api fn 2022-11-27 09:56:58 +01:00
Ivan Habunek 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
Ivan Habunek ceedc0e448
Fix timezone to UTC when running tests
fixes #227
2022-11-21 09:06:58 +01:00
Ivan Habunek 22db8eaf2f
Fix tests 2022-11-12 09:55:12 +01:00
Ivan Habunek 54ceefccdc
Fix tests 2021-08-28 21:15:21 +02:00
Ivan Habunek 1ba3240e6a
Fix tests 2020-09-29 10:07:55 +02:00
Sandra Snan 103bc43c26
Reply to non-int, and also longer posts, Pleroma style 2020-09-01 16:11:12 +02:00
Ivan Habunek 2458e8a360
Fix tests for search 2020-01-21 09:37:03 +01:00
Ivan Habunek 65eb1d0e10
Fix tests broken by colors patch 2019-09-08 15:08:24 +02:00
Ivan Habunek 42247f94ba
Fix tests 2019-07-31 09:01:27 +02:00
Ivan Habunek 096664b9dc
Fix tests 2019-04-23 13:16:24 +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 10595be865
Show full account name in timeline 2019-02-15 14:13:11 +01:00
Denis Laxalde f1c8465e63
Add a "reblogged_by" command 2019-02-14 17:58:47 +01:00
Ivan Habunek e6d585ae5d
Nicer timeline output 2019-02-14 17:31:48 +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
Denis Laxalde 9d6cd87202
Check full output in test_timeline
We're going to update this test in the next commit and having complete
output checked (including padding, column/row separations) will help.
2019-02-14 14:21:53 +01:00
Ivan Habunek 02c392230e
Remove unused import 2019-02-13 15:43:30 +01:00
Ivan Habunek 19cbcd43b2
Make `toot timeline` continuable by pressing Enter 2019-02-13 14:19:00 +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
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&apos;t tell you the emotional story [...] </p>

Beautiful will parse this as as:

    <p>The computer can&amp;apost tell you the emotional story [...] </p>

which is not what we expect.

We fix this by replacing `&apos;` *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
Ivan Habunek cf1217cc26
Fix tests 2018-06-27 16:29:45 +02:00
Ivan Habunek 72f88831ad
Add delete command
issue #54
2018-06-14 10:40:16 +02:00
Ivan Habunek 025d8dde09
Use Idempotency-Key header when posting toots 2018-06-13 13:22:52 +02:00
Ivan Habunek 8f93b255ad
Add option to reply to a toot
fixes #6
2018-06-13 13:21:22 +02:00
Ivan Habunek b3d81c43cc
Tweak timeline output 2018-06-12 11:43:47 +02:00
Ivan Habunek ce0df5f1b7
Fix tests on Python 3.5 2018-06-09 10:39:08 +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 9f23ba4d55
Simplify mocking in tests 2018-06-07 10:05:14 +02: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 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 6766cf83b4
Search only accounts when looking for users
Instead of using general search.
2017-05-07 10:42:04 +02:00
Ivan Habunek 12047cdc92
Fix tests for follow/unfollow 2017-04-20 10:58:49 +02:00
Ivan Habunek 373f26424d
Rework how commands are defined 2017-04-19 14:47:30 +02:00
Ivan Habunek 3f44d560c8
Store access tokens for multiple instances
This makes it so an app is created only once for each instance, instead
of being re-created on each login. Prevents accumulations of authroized
apps in https://mastodon.social/oauth/authorized_applications
2017-04-18 16:16:24 +02:00