Hello community,
here is the log from the commit of package python-curtsies for
openSUSE:Leap:15.2 checked in at 2020-04-08 12:48:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-curtsies (Old)
and /work/SRC/openSUSE:Leap:15.2/.python-curtsies.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-curtsies"
Wed Apr 8 12:48:52 2020 rev:22 rq:790944 version:0.3.1
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/python-curtsies/python-curtsies.changes
2020-03-09 18:04:18.864786207 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.python-curtsies.new.3248/python-curtsies.changes
2020-04-08 12:49:22.434373212 +0200
@@ -1,0 +2,15 @@
+Thu Apr 2 11:10:20 UTC 2020 - Paolo Stivanin <[email protected]>
+
+- Add remove-nose.patch
+
+-------------------------------------------------------------------
+Thu Apr 2 08:17:20 UTC 2020 - Marketa Calabkova <[email protected]>
+
+- Update to version 0.3.1
+ * Add "dark" format function
+ * Add Input option to disable terminal start/stop. Thanks George
Kettleborough!
+ * Fix Py3.6 compatibility. Thanks Po-Chuan Hsieh!
+ * Assorted fixes, thanks Jakub Wilk and Manuel Mendez!
+- Drop upstreamed python-curtsies-dont-require-typing-for-python3.5.patch
+
+-------------------------------------------------------------------
Old:
----
curtsies-0.3.0.tar.gz
python-curtsies-dont-require-typing-for-python3.5.patch
New:
----
curtsies-0.3.1.tar.gz
remove-nose.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-curtsies.spec ++++++
--- /var/tmp/diff_new_pack.9oXVqD/_old 2020-04-08 12:49:23.142373581 +0200
+++ /var/tmp/diff_new_pack.9oXVqD/_new 2020-04-08 12:49:23.146373583 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-curtsies
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,18 +18,17 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-curtsies
-Version: 0.3.0
+Version: 0.3.1
Release: 0
Summary: Curses-like terminal wrapper, with colored strings!
License: MIT
Group: Development/Languages/Python
URL: https://github.com/bpython/curtsies
Source:
https://files.pythonhosted.org/packages/source/c/curtsies/curtsies-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM python-curtsies-dont-require-typing-for-python3.5.patch
gh#bpython/curtsies#111 [email protected] -- The typing module is only
required for python3.4 and lower; patch taken from upstream git.
-Patch0: python-curtsies-dont-require-typing-for-python3.5.patch
+# https://github.com/bpython/curtsies/pull/127
+Patch0: remove-nose.patch
BuildRequires: %{python_module blessings}
BuildRequires: %{python_module mock}
-BuildRequires: %{python_module nose}
BuildRequires: %{python_module pyte}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wcwidth}
@@ -68,7 +67,7 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%python_expand nosetests-%{$python_bin_suffix} -v
+%python_exec -m unittest discover -s tests -v
%files %{python_files}
%license LICENSE
++++++ curtsies-0.3.0.tar.gz -> curtsies-0.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/PKG-INFO new/curtsies-0.3.1/PKG-INFO
--- old/curtsies-0.3.0/PKG-INFO 2018-02-14 01:34:02.000000000 +0100
+++ new/curtsies-0.3.1/PKG-INFO 2020-01-04 06:51:54.000000000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: curtsies
-Version: 0.3.0
+Version: 0.3.1
Summary: Curses-like terminal wrapper, with colored strings!
Home-page: https://github.com/bpython/curtsies
Author: Thomas Ballinger
Author-email: [email protected]
License: MIT
-Description-Content-Type: UNKNOWN
Description: [](https://travis-ci.org/bpython/curtsies)
[](https://readthedocs.org/projects/curtsies/?badge=latest)

@@ -108,3 +107,4 @@
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/curtsies/__init__.py
new/curtsies-0.3.1/curtsies/__init__.py
--- old/curtsies-0.3.0/curtsies/__init__.py 2018-02-14 01:32:58.000000000
+0100
+++ new/curtsies-0.3.1/curtsies/__init__.py 2020-01-04 06:27:49.000000000
+0100
@@ -1,5 +1,5 @@
"""Terminal-formatted strings"""
-__version__='0.3.0'
+__version__='0.3.1'
from .window import FullscreenWindow, CursorAwareWindow
from .input import Input
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/curtsies/formatstring.py
new/curtsies-0.3.1/curtsies/formatstring.py
--- old/curtsies-0.3.0/curtsies/formatstring.py 2018-02-14 00:38:53.000000000
+0100
+++ new/curtsies-0.3.1/curtsies/formatstring.py 2019-03-04 00:18:19.000000000
+0100
@@ -43,6 +43,7 @@
'fg' : lambda s, v: '%s%s%s' % (seq(v), s, seq(RESET_FG)),
'bg' : lambda s, v: seq(v)+s+seq(RESET_BG),
'bold' : lambda s: seq(STYLES['bold']) +s+seq(RESET_ALL),
+ 'dark' : lambda s: seq(STYLES['dark']) +s+seq(RESET_ALL),
'underline' : lambda s: seq(STYLES['underline'])+s+seq(RESET_ALL),
'blink' : lambda s: seq(STYLES['blink']) +s+seq(RESET_ALL),
'invert' : lambda s: seq(STYLES['invert']) +s+seq(RESET_ALL),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/curtsies/input.py
new/curtsies-0.3.1/curtsies/input.py
--- old/curtsies-0.3.0/curtsies/input.py 2017-07-26 02:44:39.000000000
+0200
+++ new/curtsies-0.3.1/curtsies/input.py 2019-03-04 00:18:19.000000000
+0100
@@ -44,7 +44,8 @@
"""Keypress and control event generator"""
def __init__(self, in_stream=None, keynames='curtsies',
paste_threshold=events.MAX_KEYPRESS_SIZE+1,
sigint_event=False,
- signint_callback_provider=None):
+ signint_callback_provider=None,
+ disable_terminal_start_stop=False):
"""Returns an Input instance.
Args:
@@ -56,6 +57,9 @@
represent to be combined into a single paste event
sigint_event (bool): Whether SIGINT signals from the OS
should be intercepted and returned as SigIntEvent objects
+ disable_terminal_start_stop (bool): If True, disable terminal
+ start/stop using Ctrl-s/Ctrl-q, thus enabling these keys
+ to be read as input by curtsies
"""
if in_stream is None:
in_stream = sys.__stdin__
@@ -64,6 +68,7 @@
self.keynames = keynames
self.paste_threshold = paste_threshold
self.sigint_event = sigint_event
+ self.disable_terminal_start_stop = disable_terminal_start_stop
self.sigints = []
self.readers = []
@@ -79,6 +84,12 @@
self.original_stty = termios.tcgetattr(self.in_stream)
tty.setcbreak(self.in_stream, termios.TCSANOW)
+ if self.disable_terminal_start_stop:
+ attrs = termios.tcgetattr(self.in_stream)
+ attrs[-1][termios.VSTOP] = 0 # Ctrl-s
+ attrs[-1][termios.VSTART] = 0 # Ctrl-q
+ termios.tcsetattr(self.in_stream, termios.TCSANOW, attrs)
+
if sys.platform == 'darwin':
attrs = termios.tcgetattr(self.in_stream)
VDSUSP = termios.VSUSP + 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/curtsies/window.py
new/curtsies-0.3.1/curtsies/window.py
--- old/curtsies-0.3.0/curtsies/window.py 2017-04-04 16:30:09.000000000
+0200
+++ new/curtsies-0.3.1/curtsies/window.py 2019-03-04 00:18:19.000000000
+0100
@@ -62,7 +62,7 @@
self._last_rendered_height = height
def render_to_terminal(self, array, cursor_pos=(0, 0)):
- raise NotImplemented
+ raise NotImplementedError
def get_term_hw(self):
"""Returns current terminal height and width"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/curtsies.egg-info/PKG-INFO
new/curtsies-0.3.1/curtsies.egg-info/PKG-INFO
--- old/curtsies-0.3.0/curtsies.egg-info/PKG-INFO 2018-02-14
01:34:02.000000000 +0100
+++ new/curtsies-0.3.1/curtsies.egg-info/PKG-INFO 2020-01-04
06:51:54.000000000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: curtsies
-Version: 0.3.0
+Version: 0.3.1
Summary: Curses-like terminal wrapper, with colored strings!
Home-page: https://github.com/bpython/curtsies
Author: Thomas Ballinger
Author-email: [email protected]
License: MIT
-Description-Content-Type: UNKNOWN
Description: [](https://travis-ci.org/bpython/curtsies)
[](https://readthedocs.org/projects/curtsies/?badge=latest)

@@ -108,3 +107,4 @@
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/curtsies.egg-info/SOURCES.txt
new/curtsies-0.3.1/curtsies.egg-info/SOURCES.txt
--- old/curtsies-0.3.0/curtsies.egg-info/SOURCES.txt 2018-02-14
01:34:02.000000000 +0100
+++ new/curtsies-0.3.1/curtsies.egg-info/SOURCES.txt 2020-01-04
06:51:54.000000000 +0100
@@ -45,6 +45,5 @@
tests/test_events.py
tests/test_fmtstr.py
tests/test_input.py
-tests/test_perf.py
tests/test_terminal.py
tests/test_window.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/curtsies.egg-info/requires.txt
new/curtsies-0.3.1/curtsies.egg-info/requires.txt
--- old/curtsies-0.3.0/curtsies.egg-info/requires.txt 2018-02-14
01:34:02.000000000 +0100
+++ new/curtsies-0.3.1/curtsies.egg-info/requires.txt 2020-01-04
06:51:54.000000000 +0100
@@ -1,3 +1,5 @@
blessings>=1.5
wcwidth>=0.1.4
+
+[:python_version < "3.5"]
typing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/setup.py new/curtsies-0.3.1/setup.py
--- old/curtsies-0.3.0/setup.py 2018-02-13 23:54:06.000000000 +0100
+++ new/curtsies-0.3.1/setup.py 2020-01-04 06:51:29.000000000 +0100
@@ -33,6 +33,7 @@
version=version(),
description='Curses-like terminal wrapper, with colored strings!',
long_description=get_long_description(),
+ long_description_content_type='text/markdown',
url='https://github.com/bpython/curtsies',
author='Thomas Ballinger',
author_email='[email protected]',
@@ -41,7 +42,7 @@
install_requires = [
'blessings>=1.5',
'wcwidth>=0.1.4',
- 'typing',
+ 'typing; python_version<"3.5"',
],
tests_require = [
'mock',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/tests/test_fmtstr.py
new/curtsies-0.3.1/tests/test_fmtstr.py
--- old/curtsies-0.3.0/tests/test_fmtstr.py 2018-02-14 00:37:53.000000000
+0100
+++ new/curtsies-0.3.1/tests/test_fmtstr.py 2019-03-04 00:18:19.000000000
+0100
@@ -65,8 +65,8 @@
self.assertEqual(str(fmtstr('\x1b[43mhello\x1b[0m')),
'\x1b[43mhello\x1b[49m')
self.assertEqual(str(fmtstr('\x1b[43mhello')), '\x1b[43mhello\x1b[49m')
self.assertEqual(str(fmtstr('\x1b[32;1mhello')),
'\x1b[32m\x1b[1mhello\x1b[0m\x1b[39m')
- self.assertEqual(str(fmtstr('\x1b[2mhello')), 'hello')
- self.assertEqual(str(fmtstr('\x1b[32;2mhello')),
'\x1b[32mhello\x1b[39m')
+ self.assertEqual(str(fmtstr('\x1b[2mhello')), '\x1b[2mhello\x1b[0m')
+ self.assertEqual(str(fmtstr('\x1b[32;2mhello')),
'\x1b[32m\x1b[2mhello\x1b[0m\x1b[39m')
self.assertEqual(str(fmtstr('\x1b[33m\x1b[43mhello\x1b[0m')),
'\x1b[33m\x1b[43mhello\x1b[49m\x1b[39m')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/curtsies-0.3.0/tests/test_perf.py
new/curtsies-0.3.1/tests/test_perf.py
--- old/curtsies-0.3.0/tests/test_perf.py 2018-02-12 22:47:33.000000000
+0100
+++ new/curtsies-0.3.1/tests/test_perf.py 1970-01-01 01:00:00.000000000
+0100
@@ -1,48 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-import sys
-import time
-import unittest
-from functools import partial
-from curtsies.formatstring import (FmtStr, fmtstr, Chunk, linesplit,
- normalize_slice, width_aware_slice)
-from curtsies.fmtfuncs import *
-from curtsies.termformatconstants import FG_COLORS
-from curtsies.formatstringarray import fsarray, FSArray, FormatStringTest
-
-try:
- from unittest import skip
-except ImportError:
- def skip(f):
- return lambda self: None
-
-PY2 = sys.version_info[0] == 2
-
-try:
- unicode = unicode
-except:
- unicode = str
-
-
-def timeit(func, n=3):
- """Wall-time a function"""
- times = []
- for i in range(n):
- t0 = time.time()
- func()
- dt = time.time() - t0
- times.append(dt)
- return sorted(times)[n // 2] # take the median (taking faster time if
there's a tie)
-
-
-class TestWidthAwareSlice(unittest.TestCase):
- """Who knows how flaky this will be."""
-
- def test_width_aware_slice_is_not_quadratic(self):
- """Once it was and there was much sadness, bpython #702"""
- def slice_one_char(n):
- fmtstr('a'*n).width_aware_slice(slice(0, 1, None))
-
- t_1000 = timeit(partial(slice_one_char, 1000))
- t_2000 = timeit(partial(slice_one_char, 2000))
- assert t_2000 < t_1000 * 3
++++++ remove-nose.patch ++++++
diff -ru curtsies.orig/setup.py curtsies/setup.py
--- curtsies.orig/setup.py 2020-04-02 13:00:55.681024818 +0200
+++ curtsies/setup.py 2020-04-02 12:59:27.668878151 +0200
@@ -47,7 +47,6 @@
tests_require = [
'mock',
'pyte',
- 'nose',
],
classifiers=[
'Development Status :: 3 - Alpha',
diff -ru curtsies.orig/tests/test_terminal.py curtsies/tests/test_terminal.py
--- a/tests/test_terminal.py 2020-04-02 13:00:55.681024818 +0200
+++ b/tests/test_terminal.py 2020-04-02 12:59:15.140857282 +0200
@@ -37,8 +37,6 @@
else:
return lambda x: x
- import nose
-
def skipFailure(reason):
def dec(func):
@functools.wraps(func)
@@ -46,7 +44,7 @@
try:
func(*args, **kwargs)
except Exception:
- raise nose.SkipTest
+ raise unittest.SkipTest
else:
raise AssertionError('Failure expected')
return inner
--- a/setup.cfg 2020-04-02 13:07:43.113698739 +0200
+++ b/setup.cfg 2020-04-02 13:07:48.377707433 +0200
@@ -1,8 +1,3 @@
-[nosetests]
-with-doctest = 1
-cover-package = curtsies
-cover-html = 1
-
[bdist_wheel]
universal = 1