Hello community,

here is the log from the commit of package python3-jupyter_qtconsole for 
openSUSE:Factory checked in at 2015-11-18 22:34:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-jupyter_qtconsole (Old)
 and      /work/SRC/openSUSE:Factory/.python3-jupyter_qtconsole.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-jupyter_qtconsole"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python3-jupyter_qtconsole/python3-jupyter_qtconsole.changes
      2015-10-12 10:01:50.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.python3-jupyter_qtconsole.new/python3-jupyter_qtconsole.changes
 2015-11-18 22:34:13.000000000 +0100
@@ -1,0 +2,13 @@
+Wed Oct 21 13:28:07 UTC 2015 - toddrme2...@gmail.com
+
+- Don't build with python3-buildservice-tweak.
+  It causes package tests to fail .
+
+-------------------------------------------------------------------
+Fri Oct 16 12:15:08 UTC 2015 - toddrme2...@gmail.com
+
+- Update to 4.1.0
+  * Fixed generating the default configuration
+  * Fixed some regressions in copy/paste from the console.
+
+-------------------------------------------------------------------

Old:
----
  qtconsole-4.0.1.tar.gz

New:
----
  qtconsole-4.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-jupyter_qtconsole.spec ++++++
--- /var/tmp/diff_new_pack.eJjJbZ/_old  2015-11-18 22:34:14.000000000 +0100
+++ /var/tmp/diff_new_pack.eJjJbZ/_new  2015-11-18 22:34:14.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python3-jupyter_qtconsole
-Version:        4.0.1
+Version:        4.1.0
 Release:        0
 Summary:        Jupyter Qt console
 License:        BSD-3-Clause

++++++ qtconsole-4.0.1.tar.gz -> qtconsole-4.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/PKG-INFO new/qtconsole-4.1.0/PKG-INFO
--- old/qtconsole-4.0.1/PKG-INFO        2015-08-17 23:21:37.000000000 +0200
+++ new/qtconsole-4.1.0/PKG-INFO        2015-10-16 13:39:58.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: qtconsole
-Version: 4.0.1
+Version: 4.1.0
 Summary: Jupyter Qt console
 Home-page: http://jupyter.org
 Author: Jupyter Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/docs/source/changelog.rst 
new/qtconsole-4.1.0/docs/source/changelog.rst
--- old/qtconsole-4.0.1/docs/source/changelog.rst       1970-01-01 
01:00:00.000000000 +0100
+++ new/qtconsole-4.1.0/docs/source/changelog.rst       2015-10-16 
13:38:00.000000000 +0200
@@ -0,0 +1,38 @@
+.. _changelog:
+
+Changes in Jupyter QtConsole
+============================
+
+.. _4.1:
+.. _4.1.0:
+
+4.1
+---
+
+`4.1 on GitHub <https://github.com/jupyter/qtconsole/milestones/4.1>`__
+
+-  fix regressions in copy/paste, completion
+-  fix issues with inprocess IPython kernel
+-  fix ``jupyter qtconsole --generate-config``
+
+.. _4.0:
+
+4.0
+---
+
+.. _4.0.1:
+
+4.0.1
+~~~~~
+
+-  fix installation issues, including setuptools entrypoints for Windows
+-  Qt5 fixes
+
+.. _4.0.0:
+
+4.0.0
+~~~~~
+
+`4.0 on GitHub <https://github.com/jupyter/qtconsole/milestones/4.0>`__
+
+First release of qtconsole as a standalone package.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/docs/source/index.rst 
new/qtconsole-4.1.0/docs/source/index.rst
--- old/qtconsole-4.0.1/docs/source/index.rst   2015-08-17 23:21:18.000000000 
+0200
+++ new/qtconsole-4.1.0/docs/source/index.rst   2015-10-16 13:38:00.000000000 
+0200
@@ -4,6 +4,9 @@
 A Qt Console for Jupyter
 ========================
 
+:Release: |release|
+:Date: |today|
+
 To start the Qt console::
 
     $> jupyter qtconsole
@@ -12,6 +15,7 @@
    :maxdepth: 2
 
    config_options
+   changelog
 
 You can use any Jupyter kernel with this PyQt_ console GUI.
 This is a very lightweight widget that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/qtconsole/_version.py 
new/qtconsole-4.1.0/qtconsole/_version.py
--- old/qtconsole-4.0.1/qtconsole/_version.py   2015-08-17 23:21:18.000000000 
+0200
+++ new/qtconsole-4.1.0/qtconsole/_version.py   2015-10-16 13:38:31.000000000 
+0200
@@ -1,2 +1,2 @@
-version_info = (4, 0, 1)
+version_info = (4, 1, 0)
 __version__ = '.'.join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/qtconsole/base_frontend_mixin.py 
new/qtconsole-4.1.0/qtconsole/base_frontend_mixin.py
--- old/qtconsole-4.0.1/qtconsole/base_frontend_mixin.py        2015-08-17 
23:21:18.000000000 +0200
+++ new/qtconsole-4.1.0/qtconsole/base_frontend_mixin.py        2015-10-08 
16:28:13.000000000 +0200
@@ -69,12 +69,18 @@
         kc = self.kernel_client
         if kc is None:
             return
+        
+        try:
+            blocking_client = kc.blocking_client
+        except AttributeError:
+            def blocking_client():
+                info = kc.get_connection_info()
+                bc = BlockingKernelClient(**info)
+                bc.session.key = kc.session.key
+                return bc
 
-        info = kc.get_connection_info()
-        bc = BlockingKernelClient(**info)
-        bc.session.key = kc.session.key
-        bc.shell_channel.start()
-        self._blocking_client = bc
+        self._blocking_client = blocking_client()
+        self._blocking_client.shell_channel.start()
     
     @property
     def blocking_client(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/qtconsole/frontend_widget.py 
new/qtconsole-4.1.0/qtconsole/frontend_widget.py
--- old/qtconsole-4.0.1/qtconsole/frontend_widget.py    2015-08-17 
23:21:18.000000000 +0200
+++ new/qtconsole-4.1.0/qtconsole/frontend_widget.py    2015-10-16 
13:11:30.000000000 +0200
@@ -12,6 +12,7 @@
     from queue import Empty
 except ImportError:
     from Queue import Empty
+import re
 
 from qtconsole import qt
 from qtconsole.qt import QtCore, QtGui
@@ -25,6 +26,33 @@
 from .history_console_widget import HistoryConsoleWidget
 from .pygments_highlighter import PygmentsHighlighter
 
+_classic_prompt_re = re.compile(r'^([ \t]*>>> |^[ \t]*\.\.\. )')
+
+def transform_classic_prompt(line):
+    """Handle inputs that start with '>>> ' syntax."""
+
+    if not line or line.isspace():
+        return line
+    m = _classic_prompt_re.match(line)
+    if m:
+        return line[len(m.group(0)):]
+    else:
+        return line
+
+
+_ipy_prompt_re = re.compile(r'^([ \t]*In \[\d+\]: |^[ \t]*\ \ \ \.\.\.+: )')
+
+def transform_ipy_prompt(line):
+    """Handle inputs that start classic IPython prompt syntax."""
+
+    if not line or line.isspace():
+        return line
+    m = _ipy_prompt_re.match(line)
+    if m:
+        return line[len(m.group(0)):]
+    else:
+        return line
+
 
 class FrontendHighlighter(PygmentsHighlighter):
     """ A PygmentsHighlighter that understands and ignores prompts.
@@ -213,8 +241,13 @@
         elif self._control.hasFocus():
             text = self._control.textCursor().selection().toPlainText()
             if text:
+                # Remove prompts.
+                lines = text.splitlines()
+                lines = map(transform_classic_prompt, lines)
+                lines = map(transform_ipy_prompt, lines)
+                text = '\n'.join(lines)
                 was_newline = text[-1] == '\n'
-                if not was_newline: # user doesn't need newline
+                if was_newline:  # user doesn't need newline
                     text = text[:-1]
                 QtGui.QApplication.clipboard().setText(text)
         else:
@@ -536,7 +569,7 @@
     def _handle_shutdown_reply(self, msg):
         """ Handle shutdown signal, only if from other console.
         """
-        self.log.info("shutdown: %s", msg.get('content', ''))
+        self.log.debug("shutdown: %s", msg.get('content', ''))
         restart = msg.get('content', {}).get('restart', False)
         if not self._hidden and not self.from_here(msg):
             # got shutdown reply, request came from session other than ours
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/qtconsole/qtconsoleapp.py 
new/qtconsole-4.1.0/qtconsole/qtconsoleapp.py
--- old/qtconsole-4.0.1/qtconsole/qtconsoleapp.py       2015-08-17 
23:21:18.000000000 +0200
+++ new/qtconsole-4.1.0/qtconsole/qtconsoleapp.py       2015-10-08 
16:28:13.000000000 +0200
@@ -56,9 +56,9 @@
     Dict, Unicode, CBool, Any
 )
 
-from jupyter_core.application import JupyterApp
+from jupyter_core.application import JupyterApp, base_flags, base_aliases
 from jupyter_client.consoleapp import (
-        JupyterConsoleApp, app_aliases, app_flags, flags, aliases
+        JupyterConsoleApp, app_aliases, app_flags,
     )
 
 
@@ -73,8 +73,8 @@
 # Aliases and Flags
 #-----------------------------------------------------------------------------
 
-# start with copy of flags
-flags = dict(flags)
+# FIXME: workaround bug in jupyter_client < 4.1 excluding base_flags,aliases
+flags = dict(base_flags)
 qt_flags = {
     'plain' : ({'JupyterQtConsoleApp' : {'plain' : True}},
             "Disable rich text support."),
@@ -90,8 +90,8 @@
 # add frontend flags to the full set
 flags.update(qt_flags)
 
-# start with copy of front&backend aliases list
-aliases = dict(aliases)
+# start with copy of base jupyter aliases
+aliases = dict(base_aliases)
 qt_aliases = dict(
     style = 'JupyterWidget.syntax_style',
     stylesheet = 'JupyterQtConsoleApp.stylesheet',
@@ -338,6 +338,8 @@
     def initialize(self, argv=None):
         self.init_qt_app()
         super(JupyterQtConsoleApp, self).initialize(argv)
+        if self._dispatching:
+            return
         # handle deprecated renames
         for old_name, new_name in [
             ('IPythonQtConsoleApp', 'JupyterQtConsole'),
@@ -352,6 +354,7 @@
         self.init_signal()
 
     def start(self):
+        super(JupyterQtConsoleApp, self).start()
 
         # draw the window
         if self.maximize:
@@ -375,9 +378,7 @@
 #-----------------------------------------------------------------------------
 
 def main():
-    app = JupyterQtConsoleApp()
-    app.initialize()
-    app.start()
+    JupyterQtConsoleApp.launch_instance()
 
 
 if __name__ == '__main__':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/qtconsole/tests/test_app.py 
new/qtconsole-4.1.0/qtconsole/tests/test_app.py
--- old/qtconsole-4.0.1/qtconsole/tests/test_app.py     2015-08-17 
23:21:18.000000000 +0200
+++ new/qtconsole-4.1.0/qtconsole/tests/test_app.py     2015-10-08 
16:28:13.000000000 +0200
@@ -3,7 +3,11 @@
 # Copyright (c) Jupyter Development Team.
 # Distributed under the terms of the Modified BSD License.
 
-import nose.tools as nt
+import os
+import shutil
+import sys
+import tempfile
+from subprocess import check_output
 
 from traitlets.tests.utils import check_help_all_output
 from ipython_genutils.testing.decorators import skip_if_no_x11
@@ -13,3 +17,14 @@
     """jupyter qtconsole --help-all works"""
     check_help_all_output('qtconsole')
 
+@skip_if_no_x11
+def test_generate_config():
+    """jupyter qtconsole --generate-config"""
+    td = tempfile.mkdtemp()
+    try:
+        check_output([sys.executable, '-m', 'qtconsole', '--generate-config'],
+            env={'JUPYTER_CONFIG_DIR': td},
+        )
+        assert os.path.isfile(os.path.join(td, 'jupyter_qtconsole_config.py'))
+    finally:
+        shutil.rmtree(td)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtconsole-4.0.1/setup.py new/qtconsole-4.1.0/setup.py
--- old/qtconsole-4.0.1/setup.py        2015-08-17 23:21:18.000000000 +0200
+++ new/qtconsole-4.1.0/setup.py        2015-10-16 13:38:00.000000000 +0200
@@ -83,9 +83,9 @@
 install_requires = setuptools_args['install_requires'] = [
     'traitlets',
     'jupyter_core',
-    'jupyter_client',
+    'jupyter_client>=4.1',
     'pygments',
-    'ipykernel', # not a real dependency, but require the reference kernel
+    'ipykernel>=4.1', # not a real dependency, but require the reference kernel
 ]
 
 extras_require = setuptools_args['extras_require'] = {


Reply via email to