Commit Graph

741 Commits

Author SHA1 Message Date
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 e6d585ae5d
Nicer timeline output 2019-02-14 17:31:48 +01:00
Ivan Habunek 996228d224
Employ wcstring utils to improve rendering 2019-02-14 15:47:40 +01:00
Ivan Habunek 8a3ff94e47
Consolidate wcwidth-related utils in one module 2019-02-14 15:45:27 +01:00
Ivan Habunek 769ff9e406
Add wcstring utils 2019-02-14 15:23:46 +01:00
Ivan Habunek 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
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 a3ebd96e05
Mark function as private 2019-02-13 14:19:27 +01:00
Ivan Habunek 19cbcd43b2
Make `toot timeline` continuable by pressing Enter 2019-02-13 14:19:00 +01:00
Ivan Habunek 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
Ivan Habunek 7bcf868469
Minor additions to setup.py
* more classifiers
* project URLs
2019-02-13 13:14:05 +01:00
Ivan Habunek f88de49438
Add Makefile to package
issue #91
2019-02-13 13:08:47 +01:00
Ivan Habunek 32b1c67d49
Make boolen params a bit less verbose 2019-01-24 11:23:12 +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
Ivan Habunek 131a8096c2
Merge pull request #87 from yitsushi/add-toot-id-on-timeline
Status ID + thread view
2019-01-21 18:14:36 +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
Ivan Habunek 8db1ff42b2
Don't upload zip to pypi, expects only tar.gz 2019-01-21 14:00:20 +01:00
Ivan Habunek bfe6768d0c
Fix changelog date 2019-01-21 14:00:19 +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
Ivan Habunek ec95ef3584
Merge pull request #86 from ksunden/patch-1
MAINT: Prevent install in unsupported python
2019-01-12 00:07:03 +01:00
Kyle Sunden 17623fbad1
MAINT: Prevent install in unsupported python
Prevents issues like #76
2019-01-11 11:25:07 -06:00
ksunden 4df0c7882d ENH: Add local and tag timeline support to curses
Closes #61
2019-01-02 22:36:40 -06:00
Ivan Habunek 3ac8e59dec
Bump version 2019-01-02 12:51:49 +01: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 fc57d2695a
Merge pull request #83 from dlax/apos
Replace ' by "'" before parsing HTML
2019-01-02 11:39:21 +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 62385ac9fa
Update changelog 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&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
Nick Loadholtes 91fc273af7 Update for the curses ui help menu (#78)
Added `s` option to the help menu.
2018-12-30 22:34:15 +01:00
Ivan Habunek 5e7b4d3d88
Merge pull request #77 from nloadholtes/curses-docs
Updating the docs with information about and commands for the curses UI
2018-12-30 22:31:28 +01:00
Nick Loadholtes 56ede74a7b
Updating docs to match PR #78 2018-12-30 16:07:43 -05:00
Ivan Habunek 7195a05890
docs: Extract advanced usage, add proxy info 2018-12-30 11:12:00 +01:00
Ivan Habunek 226713a5a0
Apply requests environment settings
Allows use of enironment variables for setting proxies and trusted CAs.

See:
http://docs.python-requests.org/en/master/user/advanced/#prepared-requests
2018-12-30 10:38:40 +01:00
Ivan Habunek 9d10ce22f1
Update changelog 2018-12-30 10:02:50 +01:00
Ivan Habunek b06e9ea733
Enable fetching instance info over http
issue #56
2018-12-30 09:53:12 +01:00
Ivan Habunek f7f867f1b3
Merge pull request #80 from SteelPangolin/master
Feature proposal: --disable-https flag
2018-12-30 09:39:38 +01:00
Ivan Habunek 9c4964116e
Move common auth commands to a variable 2018-12-30 09:00:19 +01:00
Erica Ehrhardt fde84295e0 Add --disable-https flag 2018-12-24 17:20:30 -08:00
Nick Loadholtes 461e05f16f Updating the docs with information about and commands for the curses UI 2018-10-08 10:23:42 -04:00
Ivan Habunek c2af5a879c
Merge pull request #74 from 0mp/patch-1
Fix a typo
2018-08-21 08:28:58 +02:00
Mateusz Piotrowski 9ac1f4d7b4
Fix a typo 2018-08-21 00:42:46 +02:00
Ivan Habunek be58e49024
Merge pull request #71 from kasramp/master
Fix help typo
2018-08-11 12:01:41 +02:00
Kasra_mp 6fc48697c5
#69 Fix typo 2018-08-11 10:58:13 +02:00
Ivan Habunek 881872eb04
Merge pull request #70 from waweic/master
Added an option to reverse the timeline
2018-07-28 11:13:06 +02: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 5871916f8e
Bump version 2018-06-27 16:33:00 +02:00
Ivan Habunek cf1217cc26
Fix tests 2018-06-27 16:29:45 +02:00
Ivan Habunek b9fd3bf98b
Replace docs in README with link rtfd.io 2018-06-27 16:23:12 +02:00