From dec8baac63cbcf7e33c55787e1bffe1cf6196485 Mon Sep 17 00:00:00 2001 From: Jeff Quast Date: Mon, 3 Feb 2020 10:31:12 -0800 Subject: [PATCH] 1.17.2: add hyperlinks support and revert setupterm(os.devnull) (#147) - move "styles" section from colors.rst to terminal.rst - add term.link("https://example.com", "example.com") hyperlink support - add bin/cnn.py news example - revert this setupterm() experiment #59, discussed in #146 - ignore ValueError for multiprocessing environments #146 --- bin/cnn.py | 52 ++++++++++++++++++++++++++ blessed/_capabilities.py | 12 +++--- blessed/terminal.py | 35 ++++++++++++++++- docs/_static/demo_basic_hyperlink.gif | Bin 0 -> 138385 bytes docs/colors.rst | 20 ---------- docs/examples.rst | 9 +++++ docs/history.rst | 7 +++- docs/intro.rst | 34 +++++++++-------- docs/terminal.rst | 37 ++++++++++++++++++ tests/test_length_sequence.py | 51 +++++++++++++++++++++++++ tests/test_sequences.py | 41 ++++++++++++++++++++ version.json | 2 +- 12 files changed, 253 insertions(+), 47 deletions(-) create mode 100644 bin/cnn.py create mode 100644 docs/_static/demo_basic_hyperlink.gif diff --git a/bin/cnn.py b/bin/cnn.py new file mode 100644 index 00000000..0e6f8233 --- /dev/null +++ b/bin/cnn.py @@ -0,0 +1,52 @@ +"""Basic example of hyperlinks -- show CNN news site with clickable URL's.""" +# std imports +import random + +# 3rd party +import requests + +# local +# 3rd-party +from bs4 import BeautifulSoup +# local imports +from blessed import Terminal + + +def embolden(phrase): + # bold some phrases + return phrase.isdigit() or phrase[:1].isupper() + + +def make_bold(term, text): + # embolden text + return ' '.join(term.bold(phrase) if embolden(phrase) else phrase + for phrase in text.split(' ')) + + +def whitespace_only(term, line): + # return only left-hand whitespace of `line'. + return line[:term.length(line) - term.length(line.lstrip())] + + +def find_articles(soup): + return (a_link for a_link in soup.find_all('a') if '/article' in a_link.get('href')) + + +def main(): + term = Terminal() + cnn_url = 'https://lite.cnn.io' + soup = BeautifulSoup(requests.get(cnn_url).content, 'html.parser') + textwrap_kwargs = { + 'width': term.width - (term.width // 4), + 'initial_indent': ' ' * (term.width // 6) + '* ', + 'subsequent_indent': (' ' * (term.width // 6)) + ' ' * 2, + } + for a_href in find_articles(soup): + url_id = int(random.randrange(0, 1 << 24)) + for line in term.wrap(make_bold(term, a_href.text), **textwrap_kwargs): + print(whitespace_only(term, line), end='') + print(term.link(cnn_url + a_href.get('href'), line.lstrip(), url_id)) + + +if __name__ == '__main__': + main() diff --git a/blessed/_capabilities.py b/blessed/_capabilities.py index c11660d5..8b109735 100644 --- a/blessed/_capabilities.py +++ b/blessed/_capabilities.py @@ -115,17 +115,17 @@ 'scroll_forward': re.escape('\n'), 'set0_des_seq': re.escape('\x1b(B'), 'tab': re.escape('\t'), - # one could get carried away, such as by adding '\x1b#8' (dec tube - # alignment test) by reversing basic vt52, ansi, and xterm sequence - # parsers. There is plans to do just that for ANSI.SYS support. } - +_ANY_NOTESC = '[^' + re.escape('\x1b') + ']*' CAPABILITIES_ADDITIVES = { + 'link': ('link', + re.escape('\x1b') + r'\]8;' + _ANY_NOTESC + ';' + + _ANY_NOTESC + re.escape('\x1b') + '\\\\'), 'color256': ('color', re.escape('\x1b') + r'\[38;5;\d+m'), - 'on_color256': ('color', re.escape('\x1b') + r'\[48;5;\d+m'), + 'on_color256': ('on_color', re.escape('\x1b') + r'\[48;5;\d+m'), 'color_rgb': ('color_rgb', re.escape('\x1b') + r'\[38;2;\d+;\d+;\d+m'), - 'on_color_rgb': ('color_rgb', re.escape('\x1b') + r'\[48;2;\d+;\d+;\d+m'), + 'on_color_rgb': ('on_color_rgb', re.escape('\x1b') + r'\[48;2;\d+;\d+;\d+m'), 'shift_in': ('', re.escape('\x0f')), 'shift_out': ('', re.escape('\x0e')), # sgr(...) outputs strangely, use the basic ANSI/EMCA-48 codes here. diff --git a/blessed/terminal.py b/blessed/terminal.py index 07f67b59..9ff619a0 100644 --- a/blessed/terminal.py +++ b/blessed/terminal.py @@ -182,7 +182,7 @@ def __init__(self, kind=None, stream=None, force_styling=False): if self.does_styling: # Initialize curses (call setupterm), so things like tigetstr() work. try: - curses.setupterm(self._kind, open(os.devnull).fileno()) + curses.setupterm(self._kind, self._init_descriptor) except curses.error as err: msg = 'Failed to setupterm(kind={0!r}): {1}'.format(self._kind, err) warnings.warn(msg) @@ -210,6 +210,8 @@ def __init__(self, kind=None, stream=None, force_styling=False): self.__init__keycodes() def __init__streams(self): + # pylint: disable=too-complex + # Agree to disagree ! stream_fd = None # Default stream is stdout @@ -234,7 +236,10 @@ def __init__streams(self): # Keyboard valid as stdin only when output stream is stdout or stderr and is a tty. if self._stream in (sys.__stdout__, sys.__stderr__): - self._keyboard_fd = sys.__stdin__.fileno() + try: + self._keyboard_fd = sys.__stdin__.fileno() + except ValueError: + pass # _keyboard_fd only non-None if both stdin and stdout is a tty. self._keyboard_fd = (self._keyboard_fd @@ -834,6 +839,32 @@ def normal(self): self._normal = resolve_capability(self, 'normal') return self._normal + def link(self, url, text, url_id=''): + """ + Display ``text`` that when touched or clicked, navigates to ``url``. + + Optional ``url_id`` may be specified, so that non-adjacent cells can reference a single + target, all cells painted with the same "id" will highlight on hover, rather than any + individual one, as described in "Hovering and underlining the id parameter of gist + https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda. + + :param str url: Hyperlink URL. + :param str text: Clickable text. + :param str url_id: Optional 'id'. + :rtype: str + :returns: String of ``text`` as a hyperlink to ``url``. + """ + assert len(url) < 2000, (len(url), url) + if url_id: + assert len(str(url_id)) < 250, (len(str(url_id)), url_id) + params = 'id={0}'.format(url_id) + else: + params = '' + if not self.does_styling: + return text + return ('\x1b]8;{0};{1}\x1b\\{2}' + '\x1b]8;;\x1b\\'.format(params, url, text)) + @property def stream(self): """ diff --git a/docs/_static/demo_basic_hyperlink.gif b/docs/_static/demo_basic_hyperlink.gif new file mode 100644 index 0000000000000000000000000000000000000000..da820096417fa45c167d942175ed0ac36c1b58b1 GIT binary patch literal 138385 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%0Ay7LSIpW8Ftbr;BZ4_7=X& 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%0AL@gbu$kw~x;_{K)VE>9c&8eZoi9PfYJZKP&OY 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:K4b5)iCgY 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 literal 0 HcmV?d00001 diff --git a/docs/colors.rst b/docs/colors.rst index bcdb6fe9..e67ec277 100644 --- a/docs/colors.rst +++ b/docs/colors.rst @@ -20,26 +20,6 @@ And combine two colors using "``_on_``", as in "``foreground_on_background``": >>> print(term.peru_on_seagreen('All systems functioning within defined parameters.')) -Styles ------- - -In addition to :doc:`colors`, blessed also supports the limited amount of *styles* that terminals -can do. These are: - -``bold`` - Turn on 'extra bright' mode. -``reverse`` - Switch fore and background attributes. -``normal`` - Reset attributes to default. -``underline`` - Enable underline mode. -``no_underline`` - Disable underline mode. - -.. note:: While the inverse of *underline* is *no_underline*, the only way to turn off *bold* or - *reverse* is *normal*, which also cancels any custom colors. - 24-bit Colors ------------- diff --git a/docs/examples.rst b/docs/examples.rst index 514770eb..eb15bdf9 100644 --- a/docs/examples.rst +++ b/docs/examples.rst @@ -28,6 +28,15 @@ https://github.com/jquast/blessed/blob/master/bin/editor.py This is a very brief, basic primitive non-interactive version of a "classic tennis" video game. It demonstrates basic timed refresh of a bouncing terminal cell. +.. _cnn.py: + +cnn.py +------------------- +https://github.com/jquast/blessed/blob/master/bin/cnn.py + +This program uses 3rd-party BeautifulSoup and requests library to fetch the cnn website and display +news article titles using the :meth:`~.Terminal.link` method, so that they may be clicked. + .. _detect-multibyte.py: detect-multibyte.py diff --git a/docs/history.rst b/docs/history.rst index 3269fce5..99a750c7 100644 --- a/docs/history.rst +++ b/docs/history.rst @@ -1,6 +1,7 @@ Version History =============== 1.17 + * introduced: :ref:`hyperlinks`, method :meth:`~Terminal.link`, :ghissue:`116`. * introduced: 24-bit color support, detected by ``term.number_of_colors == 1 << 24``, and 24-bit color foreground method :meth:`~Terminal.color_rgb` and background method :meth:`~Terminal.on_color_rgb`, as well as 676 common X11 color attribute names are now @@ -12,6 +13,8 @@ Version History :meth:`~Terminal.move_right` which are strings that move the cursor one cell in the respective direction, are now **also** callables for moving *n* cells to the given direction, such as ``term.move_right(9)``. + * bugfix: prevent ``ValueError: I/O operation on closed file`` on ``sys.stdin`` in multiprocessing + environments, where the keyboard wouldn't work, anyway. * bugfix: prevent error condition, ``ValueError: underlying buffer has been detached`` in rare conditions where sys.__stdout__ has been detached in test frameworks. :ghissue:`126`. * bugfix: off-by-one error in :meth:`~.Terminal.get_location`, now accounts for ``%i`` in @@ -29,8 +32,8 @@ Version History typically supported, anyway. Use Unicode text or 256 or 24-bit color codes instead. * deprecated: additional key names, such as ``KEY_TAB``, are no longer "injected" into the curses module namespace. - * deprecated: :func:`curses.setupterm` is now called with :attr:`os.devnull` as the file - descriptor, let us know if this causes any issues. :ghissue:`59`. + * bugfix: briefly tried calling :func:`curses.setupterm` with :attr:`os.devnull` as the file + descriptor, reverted. :ghissue:`59`. * deprecated: :meth:`~Terminal.inkey` no longer raises RuntimeError when :attr:`~Terminal.stream` is not a terminal, programs using :meth:`~Terminal.inkey` to block indefinitely if a keyboard is not attached. :ghissue:`69`. diff --git a/docs/intro.rst b/docs/intro.rst index 30327394..6a5de3a0 100644 --- a/docs/intro.rst +++ b/docs/intro.rst @@ -95,8 +95,8 @@ Brief Overview tigetstr_ and tparm_. * Non-obtrusive calls to only the capabilities database ensures that you are free to mix and match with calls to any other curses application code or library you like. -* Provides context managers `Terminal.fullscreen()` and `Terminal.hidden_cursor()` to safely express - terminal modes, curses development will no longer fudge up your shell. +* Provides context managers `Terminal.fullscreen()`_ and `Terminal.hidden_cursor()`_ to safely + express terminal modes, curses development will no longer fudge up your shell. * Act intelligently when somebody redirects your output to a file, omitting all of the special sequences colors, but still containing all of the text. @@ -178,20 +178,22 @@ The same program with *Blessed* is simply: .. _str.center(): https://docs.python.org/3/library/stdtypes.html#str.center .. _textwrap.wrap(): https://docs.python.org/3/library/textwrap.html#textwrap.wrap .. _Terminal: https://blessed.readthedocs.io/en/stable/terminal.html -.. _`Terminal.color_rgb()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.color_rgb -.. _`Terminal.on_color_rgb()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.on_color_rgb -.. _`Terminal.length()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.length -.. _`Terminal.strip()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.strip -.. _`Terminal.rstrip()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.rstrip -.. _`Terminal.lstrip()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.lstrip -.. _`Terminal.strip_seqs()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.strip_seqs -.. _`Terminal.wrap()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.wrap -.. _`Terminal.center()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.center -.. _`Terminal.rjust()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.rjust -.. _`Terminal.ljust()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.ljust -.. _`Terminal.cbreak()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.cbreak -.. _`Terminal.raw()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.raw -.. _`Terminal.inkey()`: https://blessed.readthedocs.io/en/stable/api.html#blessed.terminal.Terminal.inkey +.. _`Terminal.fullscreen()`: https://blessed.readthedocs.io/en/latest/api/terminal.html#blessed.terminal.Terminal.fullscreen +.. _`Terminal.color_rgb()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.color_rgb +.. _`Terminal.hidden_cursor()`: https://blessed.readthedocs.io/en/latest/api/terminal.html#blessed.terminal.Terminal.hidden_cursor +.. _`Terminal.on_color_rgb()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.on_color_rgb +.. _`Terminal.length()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.length +.. _`Terminal.strip()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.strip +.. _`Terminal.rstrip()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.rstrip +.. _`Terminal.lstrip()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.lstrip +.. _`Terminal.strip_seqs()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.strip_seqs +.. _`Terminal.wrap()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.wrap +.. _`Terminal.center()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.center +.. _`Terminal.rjust()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.rjust +.. _`Terminal.ljust()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.ljust +.. _`Terminal.cbreak()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.cbreak +.. _`Terminal.raw()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.raw +.. _`Terminal.inkey()`: https://blessed.readthedocs.io/en/stable/api/terminal.html#blessed.terminal.Terminal.inkey .. _Colors: https://blessed.readthedocs.io/en/stable/colors.html .. _Styles: https://blessed.readthedocs.io/en/stable/colors.html#style .. _Location: https://blessed.readthedocs.io/en/stable/location.html diff --git a/docs/terminal.rst b/docs/terminal.rst index ab277fd7..b1c429f7 100644 --- a/docs/terminal.rst +++ b/docs/terminal.rst @@ -83,6 +83,43 @@ of the screen: >>> print(term.home + term.on_blue + term.clear) +.. _hyperlinks: + +Hyperlinks +---------- + +Maybe you haven't noticed, because it's a recent addition to terminal emulators, is +that they can now support hyperlinks, like to HTML, or even ``file://`` URLs, which +allows creating clickable links of text. + + >>> print(f"blessed {term.link('https://blessed.readthedocs.org', 'documentation')}") + blessed documentation + +Hover your cursor over ``documentation``, and it should highlight as a clickable URL. + +.. figure:: https://dxtz6bzwq9sxx.cloudfront.net/demo_basic_hyperlink.gif + :alt: Animation of running code example and clicking a hyperlink + +Styles +------ + +In addition to :doc:`colors`, blessed also supports the limited amount of *styles* that terminals +can do. These are: + +``bold`` + Turn on 'extra bright' mode. +``reverse`` + Switch fore and background attributes. +``normal`` + Reset attributes to default. +``underline`` + Enable underline mode. +``no_underline`` + Disable underline mode. + +.. note:: While the inverse of *underline* is *no_underline*, the only way to turn off *bold* or + *reverse* is *normal*, which also cancels any custom colors. + Full-Screen Mode ---------------- diff --git a/tests/test_length_sequence.py b/tests/test_length_sequence.py index 5d43cba1..53c04597 100644 --- a/tests/test_length_sequence.py +++ b/tests/test_length_sequence.py @@ -393,6 +393,57 @@ def child(kind, lines=25, cols=80): child(kind=all_terms) +def test_hyperlink_nostyling(): + """Test length our of hyperlink URL's.""" + @as_subprocess + def child(): + # given, + term = TestTerminal(force_styling=None) + given_basic_url = term.link( + 'https://blessed.readthedocs.org', 'blessed') + assert given_basic_url == 'blessed' + + child() + + +def test_basic_hyperlinks(): + """Test length our of hyperlink URL's.""" + @as_subprocess + def child(): + # given, + term = TestTerminal() + given_basic_url = term.link( + 'https://blessed.readthedocs.org', 'blessed') + split_parts = term.split_seqs(given_basic_url) + assert split_parts[0] == '\x1b]8;;https://blessed.readthedocs.org\x1b\\' + assert term.length(split_parts[0]) == 0 + assert ''.join(split_parts[1:8]) == 'blessed' + assert split_parts[8] == '\x1b]8;;\x1b\\' + assert len(split_parts) == 9 + + child() + + +def test_hyperlink_with_id(): + """Test length our of hyperlink URL's with ID.""" + @as_subprocess + def child(): + # given, + term = TestTerminal() + given_advanced_urltext = term.link( + 'https://blessed.readthedocs.org', 'blessed', '123') + # exercise, + split_parts = term.split_seqs(given_advanced_urltext) + # verify, + assert split_parts[0] == '\x1b]8;id=123;https://blessed.readthedocs.org\x1b\\' + assert term.length(split_parts[0]) == 0 + assert ''.join(split_parts[1:8]) == 'blessed' + assert split_parts[8] == '\x1b]8;;\x1b\\' + assert len(split_parts) == 9 + + child() + + def test_sequence_is_movement_false(all_terms): """Test parser about sequences that do not move the cursor.""" @as_subprocess diff --git a/tests/test_sequences.py b/tests/test_sequences.py index 0f544f3d..268d7679 100644 --- a/tests/test_sequences.py +++ b/tests/test_sequences.py @@ -47,6 +47,47 @@ def child(): child() +def test_basic_url(): + """force styling should return sequences even for non-ttys.""" + @as_subprocess + def child(): + # given + t = TestTerminal(stream=six.StringIO(), force_styling=True) + given_url = 'https://blessed.readthedocs.org' + given_text = 'documentation' + expected_output = ('\x1b]8;;{0}\x1b\\{1}\x1b]8;;\x1b\\' + .format(given_url, given_text)) + + # exercise + result = t.link(given_url, 'documentation') + + # verify + assert repr(result) == repr(expected_output) + + child() + + +def test_url_with_id(): + """force styling should return sequences even for non-ttys.""" + @as_subprocess + def child(): + # given + t = TestTerminal(stream=six.StringIO(), force_styling=True) + given_url = 'https://blessed.readthedocs.org' + given_text = 'documentation' + given_url_id = '123' + expected_output = ('\x1b]8;id={0};{1}\x1b\\{2}\x1b]8;;\x1b\\' + .format(given_url_id, given_url, given_text)) + + # exercise + result = t.link(given_url, 'documentation', given_url_id) + + # verify + assert repr(result) == repr(expected_output) + + child() + + def test_parametrization(): """Test parameterizing a capability.""" @as_subprocess diff --git a/version.json b/version.json index e7d05a4a..8d636739 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version": "1.17.1"} +{"version": "1.17.2"}