Hello community, here is the log from the commit of package python3-urwid for openSUSE:Factory checked in at 2015-11-02 12:55:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-urwid (Old) and /work/SRC/openSUSE:Factory/.python3-urwid.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-urwid" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-urwid/python3-urwid.changes 2015-01-08 23:02:57.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python3-urwid.new/python3-urwid.changes 2015-11-02 12:55:49.000000000 +0100 @@ -1,0 +2,14 @@ +Mon Nov 2 01:38:20 UTC 2015 - a...@gmx.de + +- update to version 1.3.1: + * Fix for screen not getting reset on exception regression + (by Rian Hunter) + * AttrSpec objects are now comparable (by Random User) + * MonitoredList now has a clear method if list has a clear method + (by neumond) + * Fix for BarGraph hlines sort order (by Heiko Noordhof) + * Fix for final output not appearing on exit with some terminals + now that extra newline was removed (by Jared Winborne) + * Fix for a resizing bug in raw_display (by Esteban null) + +------------------------------------------------------------------- Old: ---- urwid-1.3.0.tar.gz New: ---- urwid-1.3.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-urwid.spec ++++++ --- /var/tmp/diff_new_pack.ipaKF2/_old 2015-11-02 12:55:50.000000000 +0100 +++ /var/tmp/diff_new_pack.ipaKF2/_new 2015-11-02 12:55:50.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package python3-urwid # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: python3-urwid -Version: 1.3.0 +Version: 1.3.1 Release: 0 Url: http://excess.org/urwid/ Summary: A full-featured console (xterm et al.) user interface library ++++++ urwid-1.3.0.tar.gz -> urwid-1.3.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/PKG-INFO new/urwid-1.3.1/PKG-INFO --- old/urwid-1.3.0/PKG-INFO 2014-10-17 20:27:53.000000000 +0200 +++ new/urwid-1.3.1/PKG-INFO 2015-11-02 01:08:49.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: urwid -Version: 1.3.0 +Version: 1.3.1 Summary: A full-featured console (xterm et al.) user interface library Home-page: http://urwid.org/ Author: Ian Ward @@ -10,7 +10,7 @@ Urwid is a console user interface library for Python. It includes many features useful for text console application developers including: - - Applcations resize quickly and smoothly + - Applications resize quickly and smoothly - Automatic, programmable text alignment and wrapping - Simple markup for setting text attributes within blocks of text - Powerful list box with programmable content for scrolling all widget types diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/README.rst new/urwid-1.3.1/README.rst --- old/urwid-1.3.0/README.rst 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/README.rst 2015-11-02 01:08:16.000000000 +0100 @@ -9,7 +9,7 @@ Urwid is a console user interface library for Python. It includes many features useful for text console application developers including: -- Applcations resize quickly and smoothly +- Applications resize quickly and smoothly - Automatic, programmable text alignment and wrapping - Simple markup for setting text attributes within blocks of text - Powerful list box with programmable content for scrolling all widget types diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/docs/changelog.rst new/urwid-1.3.1/docs/changelog.rst --- old/urwid-1.3.0/docs/changelog.rst 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/docs/changelog.rst 2015-11-02 01:08:16.000000000 +0100 @@ -2,6 +2,26 @@ Changelog --------- +Urwid 1.3.1 +=========== + +2015-11-01 + + * Fix for screen not getting reset on exception regression + (by Rian Hunter) + + * AttrSpec objects are now comparable (by Random User) + + * MonitoredList now has a clear method if list has a clear method + (by neumond) + + * Fix for BarGraph hlines sort order (by Heiko Noordhof) + + * Fix for final output not appearing on exit with some terminals + now that extra newline was removed (by Jared Winborne) + + * Fix for a resizing bug in raw_display (by Esteban null) + Urwid 1.3.0 =========== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/docs/tools/templates/indexcontent.html new/urwid-1.3.1/docs/tools/templates/indexcontent.html --- old/urwid-1.3.0/docs/tools/templates/indexcontent.html 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/docs/tools/templates/indexcontent.html 2015-11-02 01:08:16.000000000 +0100 @@ -53,6 +53,7 @@ <ul> <li><a href="http://www.npcole.com/npyscreen/">npyscreen</a></li> <li><a href="https://github.com/thomasballinger/curtsies">curtsies</a></li> +<li><a href="https://github.com/jonathanslenders/python-prompt-toolkit">Python Prompt Toolkit</a></li> </ul> </div> </div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/docs/tutorial/new/adventure.py new/urwid-1.3.1/docs/tutorial/new/adventure.py --- old/urwid-1.3.0/docs/tutorial/new/adventure.py 1970-01-01 01:00:00.000000000 +0100 +++ new/urwid-1.3.1/docs/tutorial/new/adventure.py 2013-12-31 17:45:44.000000000 +0100 @@ -0,0 +1,83 @@ +import urwid + +class ActionButton(urwid.Button): + def __init__(self, caption, callback): + super(ActionButton, self).__init__("") + urwid.connect_signal(self, 'click', callback) + self._w = urwid.AttrMap(urwid.SelectableIcon(caption, 1), + None, focus_map='reversed') + +class Place(urwid.WidgetWrap): + def __init__(self, name, choices): + super(Place, self).__init__( + ActionButton([u" > go to ", name], self.enter_place)) + self.heading = urwid.Text([u"\nLocation: ", name, "\n"]) + self.choices = choices + # create links back to ourself + for child in choices: + getattr(child, 'choices', []).insert(0, self) + + def enter_place(self, button): + game.update_place(self) + +class Thing(urwid.WidgetWrap): + def __init__(self, name): + super(Thing, self).__init__( + ActionButton([u" * take ", name], self.take_thing)) + self.name = name + + def take_thing(self, button): + self._w = urwid.Text(u" - %s (taken)" % self.name) + game.take_thing(self) + +def exit_program(button): + raise urwid.ExitMainLoop() + +map_top = Place(u'porch', [ + Place(u'kitchen', [ + Place(u'refrigerator', []), + Place(u'cupboard', [ + Thing(u'jug'), + ]), + ]), + Place(u'garden', [ + Place(u'tree', [ + Thing(u'lemon'), + Thing(u'bird'), + ]), + ]), + Place(u'street', [ + Place(u'store', [ + Thing(u'sugar'), + ]), + Place(u'lake', [ + Place(u'beach', []), + ]), + ]), +]) + +class AdventureGame(object): + def __init__(self): + self.log = urwid.SimpleFocusListWalker([]) + self.top = urwid.ListBox(self.log) + self.inventory = set() + self.update_place(map_top) + + def update_place(self, place): + if self.log: # disable interaction with previous place + self.log[-1] = urwid.WidgetDisable(self.log[-1]) + self.log.append(urwid.Pile([place.heading] + place.choices)) + self.top.focus_position = len(self.log) - 1 + self.place = place + + def take_thing(self, thing): + self.inventory.add(thing.name) + if self.inventory >= set([u'sugar', u'lemon', u'jug']): + response = urwid.Text(u'You can make lemonade!\n') + done = ActionButton(u' - Joy', exit_program) + self.log[:] = [response, done] + else: + self.update_place(self.place) + +game = AdventureGame() +urwid.MainLoop(game.top, palette=[('reversed', 'standout', '')]).run() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/docs/tutorial/new/adventure.py.xdotool new/urwid-1.3.1/docs/tutorial/new/adventure.py.xdotool --- old/urwid-1.3.0/docs/tutorial/new/adventure.py.xdotool 1970-01-01 01:00:00.000000000 +0100 +++ new/urwid-1.3.1/docs/tutorial/new/adventure.py.xdotool 2013-12-31 17:45:44.000000000 +0100 @@ -0,0 +1,4 @@ +windowsize --usehints $RXVTWINDOWID 23 16 +key --window $RXVTWINDOWID Return Down Down +key --window $RXVTWINDOWID Return Down +key --window $RXVTWINDOWID Return Files old/urwid-1.3.0/docs/tutorial/new/adventure1.png and new/urwid-1.3.1/docs/tutorial/new/adventure1.png differ Files old/urwid-1.3.0/docs/tutorial/new/adventure2.png and new/urwid-1.3.1/docs/tutorial/new/adventure2.png differ Files old/urwid-1.3.0/docs/tutorial/new/adventure3.png and new/urwid-1.3.1/docs/tutorial/new/adventure3.png differ Files old/urwid-1.3.0/docs/tutorial/new/adventure4.png and new/urwid-1.3.1/docs/tutorial/new/adventure4.png differ Files old/urwid-1.3.0/docs/tutorial/new/lbscr1.png and new/urwid-1.3.1/docs/tutorial/new/lbscr1.png differ Files old/urwid-1.3.0/docs/tutorial/new/minimal1.png and new/urwid-1.3.1/docs/tutorial/new/minimal1.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/source/str_util.c new/urwid-1.3.1/source/str_util.c --- old/urwid-1.3.0/source/str_util.c 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/source/str_util.c 2015-11-02 01:08:16.000000000 +0100 @@ -40,7 +40,7 @@ #endif static int widths_len = 2*38; -static const long int widths[] = { +static const int widths[] = { 126, 1, 159, 0, 687, 1, @@ -709,7 +709,7 @@ { PyObject *text; int start_offs, end_offs; - int ret; + long ret; if (!PyArg_ParseTuple(args, "Oii", &text, &start_offs, &end_offs)) return NULL; @@ -717,8 +717,8 @@ ret = Py_CalcWidth(text, start_offs, end_offs); if (ret==-1) //an error occured return NULL; - - return Py_BuildValue("i", ret); + + return Py_BuildValue("l", ret); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid/display_common.py new/urwid-1.3.1/urwid/display_common.py --- old/urwid-1.3.0/urwid/display_common.py 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/urwid/display_common.py 2015-11-02 01:08:16.000000000 +0100 @@ -574,7 +574,7 @@ flags |= _FG_HIGH_COLOR # _parse_color_*() return None for unrecognised colors if scolor is None: - raise AttrSpecError(("Unrecognised color specification %s" + + raise AttrSpecError(("Unrecognised color specification %s " + "in foreground (%s)") % (repr(part), repr(foreground))) if color is not None: raise AttrSpecError(("More than one color given for " + @@ -646,6 +646,13 @@ else: return vals + _COLOR_VALUES_256[self.background_number] + def __eq__(self, other): + return isinstance(other, AttrSpec) and self._value == other._value + + def __ne__(self, other): + return not self == other + + __hash__ = object.__hash__ class RealTerminal(object): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid/escape.py new/urwid-1.3.1/urwid/escape.py --- old/urwid-1.3.0/urwid/escape.py 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/urwid/escape.py 2015-11-02 01:08:16.000000000 +0100 @@ -88,6 +88,8 @@ ('[Z','shift tab'), ('On', '.'), + + ('[200~', 'begin paste'), ('[201~', 'end paste'), ] + [ (prefix + letter, modifier + key) for prefix, modifier in zip('O[', ('meta ', 'shift ')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid/graphics.py new/urwid-1.3.1/urwid/graphics.py --- old/urwid-1.3.0/urwid/graphics.py 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/urwid/graphics.py 2015-11-02 01:08:16.000000000 +0100 @@ -304,6 +304,7 @@ if hlines is not None: hlines = hlines[:] # shallow copy hlines.sort() + hlines.reverse() self.data = bardata, top, hlines self._invalidate() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid/main_loop.py new/urwid-1.3.1/urwid/main_loop.py --- old/urwid-1.3.0/urwid/main_loop.py 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/urwid/main_loop.py 2015-11-02 01:08:16.000000000 +0100 @@ -372,7 +372,11 @@ finally: self.screen.stop() - self.event_loop.run() + try: + self.event_loop.run() + except: + self.screen.stop() # clean up screen control + raise self.stop() def _update(self, keys, raw): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid/monitored_list.py new/urwid-1.3.1/urwid/monitored_list.py --- old/urwid-1.3.0/urwid/monitored_list.py 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/urwid/monitored_list.py 2015-11-02 01:08:16.000000000 +0100 @@ -80,6 +80,8 @@ remove = _call_modified(list.remove) reverse = _call_modified(list.reverse) sort = _call_modified(list.sort) + if hasattr(list, 'clear'): + clear = _call_modified(list.clear) class MonitoredFocusList(MonitoredList): @@ -474,6 +476,13 @@ self._set_focus(self.index(value)) return rval + if hasattr(list, 'clear'): + def clear(self): + focus = self._adjust_focus_on_contents_modified(slice(0, 0)) + rval = super(MonitoredFocusList, self).clear() + self._set_focus(focus) + return rval + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid/raw_display.py new/urwid-1.3.1/urwid/raw_display.py --- old/urwid-1.3.0/urwid/raw_display.py 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/urwid/raw_display.py 2015-11-02 01:08:16.000000000 +0100 @@ -251,6 +251,7 @@ + escape.SI + move_cursor + escape.SHOW_CURSOR) + self.flush() if self._old_signal_keys: self.tty_signal_keys(*(self._old_signal_keys + (fd,))) @@ -746,7 +747,7 @@ cy = 0 for row in r.content(): y += 1 - if osb and osb[y] == row: + if osb and y < len(osb) and osb[y] == row: # this row of the screen buffer matches what is # currently displayed, so we can skip this line sb.append( osb[y] ) @@ -935,7 +936,7 @@ bg = "5;%d" % (a.background_number - 8 + 40) else: # this doesn't work on most terminals - bg = "%d" % (a.background_number + 100) + bg = "%d" % (a.background_number - 8 + 100) else: bg = "%d" % (a.background_number + 40) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid/version.py new/urwid-1.3.1/urwid/version.py --- old/urwid-1.3.0/urwid/version.py 2014-10-17 20:09:04.000000000 +0200 +++ new/urwid-1.3.1/urwid/version.py 2015-11-02 01:08:16.000000000 +0100 @@ -1,5 +1,5 @@ -VERSION = (1, 3, 0) +VERSION = (1, 3, 1) __version__ = ''.join(['-.'[type(x) == int]+str(x) for x in VERSION])[1:] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid.egg-info/PKG-INFO new/urwid-1.3.1/urwid.egg-info/PKG-INFO --- old/urwid-1.3.0/urwid.egg-info/PKG-INFO 2014-10-17 20:27:53.000000000 +0200 +++ new/urwid-1.3.1/urwid.egg-info/PKG-INFO 2015-11-02 01:08:49.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: urwid -Version: 1.3.0 +Version: 1.3.1 Summary: A full-featured console (xterm et al.) user interface library Home-page: http://urwid.org/ Author: Ian Ward @@ -10,7 +10,7 @@ Urwid is a console user interface library for Python. It includes many features useful for text console application developers including: - - Applcations resize quickly and smoothly + - Applications resize quickly and smoothly - Automatic, programmable text alignment and wrapping - Simple markup for setting text attributes within blocks of text - Powerful list box with programmable content for scrolling all widget types diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/urwid-1.3.0/urwid.egg-info/SOURCES.txt new/urwid-1.3.1/urwid.egg-info/SOURCES.txt --- old/urwid-1.3.0/urwid.egg-info/SOURCES.txt 2014-10-17 20:27:53.000000000 +0200 +++ new/urwid-1.3.1/urwid.egg-info/SOURCES.txt 2015-11-02 01:08:49.000000000 +0100 @@ -152,6 +152,14 @@ docs/tutorial/smenu1.png docs/tutorial/smenu2.png docs/tutorial/smenu3.png +docs/tutorial/new/adventure.py +docs/tutorial/new/adventure.py.xdotool +docs/tutorial/new/adventure1.png +docs/tutorial/new/adventure2.png +docs/tutorial/new/adventure3.png +docs/tutorial/new/adventure4.png +docs/tutorial/new/lbscr1.png +docs/tutorial/new/minimal1.png examples/asyncio_socket_server.py examples/bigtext.py examples/browse.py