Hello community, here is the log from the commit of package python-rope for openSUSE:Factory checked in at 2019-02-13 10:01:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-rope (Old) and /work/SRC/openSUSE:Factory/.python-rope.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rope" Wed Feb 13 10:01:09 2019 rev:14 rq:673302 version:0.12.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-rope/python-rope.changes 2019-02-04 14:24:10.353088996 +0100 +++ /work/SRC/openSUSE:Factory/.python-rope.new.28833/python-rope.changes 2019-02-13 10:01:20.829621438 +0100 @@ -1,0 +2,8 @@ +Mon Feb 11 11:01:31 UTC 2019 - Matej Cepl <[email protected]> + +- Upgrade to 0.12.0: + * gh#python-rope/rope#218: support for all of the new + async-related nodes. + * gh#python-rope/rope#259: fix installation issues on Windows + +------------------------------------------------------------------- Old: ---- rope-0.11.0.tar.gz New: ---- rope-0.12.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-rope.spec ++++++ --- /var/tmp/diff_new_pack.UiOKAc/_old 2019-02-13 10:01:22.529621020 +0100 +++ /var/tmp/diff_new_pack.UiOKAc/_new 2019-02-13 10:01:22.529621020 +0100 @@ -19,7 +19,7 @@ %define upname rope %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-rope -Version: 0.11.0 +Version: 0.12.0 Release: 0 Summary: A python refactoring library License: GPL-2.0-or-later ++++++ rope-0.11.0.tar.gz -> rope-0.12.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/PKG-INFO new/rope-0.12.0/PKG-INFO --- old/rope-0.11.0/PKG-INFO 2018-08-08 21:18:36.000000000 +0200 +++ new/rope-0.12.0/PKG-INFO 2019-02-11 11:50:54.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: rope -Version: 0.11.0 +Version: 0.12.0 Summary: a python refactoring library... Home-page: https://github.com/python-rope/rope Author: Ali Gholami Rudi @@ -28,8 +28,9 @@ ============ * Nick Smith <[email protected]> takes over maintaining rope. Many thanks to - Matěj Cepl for his work maintaining rope for the past few years!! - * Full python3 support is in progress... stay tuned + Matej Cepl for his work maintaining rope for the past few years!! + * Partial Python3 support, please file bugs and contribute patches if you + encounter gaps. Platform: UNKNOWN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/README.rst new/rope-0.12.0/README.rst --- old/rope-0.11.0/README.rst 2018-02-27 21:54:30.000000000 +0100 +++ new/rope-0.12.0/README.rst 2019-02-11 11:45:14.000000000 +0100 @@ -19,8 +19,9 @@ ============ * Nick Smith <[email protected]> takes over maintaining rope. Many thanks to - Matěj Cepl for his work maintaining rope for the past few years!! -* Full python3 support is in progress... stay tuned + Matej Cepl for his work maintaining rope for the past few years!! +* Partial Python3 support, please file bugs and contribute patches if you + encounter gaps. Getting Started =============== @@ -58,5 +59,5 @@ .. _`docs/library.rst`: docs/library.html .. _`COPYING`: COPYING -.. image:: https://secure.travis-ci.org/python-rope/rope.png +.. image:: https://secure.travis-ci.org/python-rope/rope.svg :alt: Build Status diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/rope/__init__.py new/rope-0.12.0/rope/__init__.py --- old/rope-0.11.0/rope/__init__.py 2018-08-08 21:06:01.000000000 +0200 +++ new/rope-0.12.0/rope/__init__.py 2019-02-11 11:50:20.000000000 +0100 @@ -1,7 +1,7 @@ """rope, a python refactoring library""" INFO = __doc__ -VERSION = '0.11.0' +VERSION = '0.12.0' COPYRIGHT = """\ Copyright (C) 2015-2018 Nicholas Smith Copyright (C) 2014-2015 Matej Cepl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/rope/base/oi/type_hinting/providers/numpydocstrings.py new/rope-0.12.0/rope/base/oi/type_hinting/providers/numpydocstrings.py --- old/rope-0.11.0/rope/base/oi/type_hinting/providers/numpydocstrings.py 2018-02-27 21:54:30.000000000 +0100 +++ new/rope-0.12.0/rope/base/oi/type_hinting/providers/numpydocstrings.py 2019-02-11 11:45:14.000000000 +0100 @@ -17,6 +17,8 @@ def __call__(self, docstring, param_name): """Search `docstring` (in numpydoc format) for type(-s) of `param_name`.""" + if not docstring: + return [] params = NumpyDocString(docstring)._parsed_data['Parameters'] for p_name, p_type, p_descr in params: if p_name == param_name: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/rope/base/pyobjectsdef.py new/rope-0.12.0/rope/base/pyobjectsdef.py --- old/rope-0.11.0/rope/base/pyobjectsdef.py 2018-02-27 21:54:30.000000000 +0100 +++ new/rope-0.12.0/rope/base/pyobjectsdef.py 2019-02-11 11:47:08.000000000 +0100 @@ -369,6 +369,9 @@ for child in node.body + node.orelse: ast.walk(child, self) + def _AsyncFor(self, node): + return self._For(node) + def _assigned(self, name, assignment): pyname = self.names.get(name, None) if pyname is None: @@ -401,6 +404,9 @@ for child in node.body: ast.walk(child, self) + def _AsyncWith(self, node): + return self._With(node) + def _excepthandler(self, node): node_name_type = str if pycompat.PY3 else ast.Name if node.name is not None and isinstance(node.name, node_name_type): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/rope/base/resources.py new/rope-0.12.0/rope/base/resources.py --- old/rope-0.11.0/rope/base/resources.py 2018-02-27 21:54:30.000000000 +0100 +++ new/rope-0.12.0/rope/base/resources.py 2019-02-11 11:45:14.000000000 +0100 @@ -113,7 +113,11 @@ raise exceptions.ModuleDecodeError(self.path, e.reason) def read_bytes(self): - return open(self.real_path, 'rb').read() + handle = open(self.real_path, 'rb') + try: + return handle.read() + finally: + handle.close() def write(self, contents): try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/rope.egg-info/PKG-INFO new/rope-0.12.0/rope.egg-info/PKG-INFO --- old/rope-0.11.0/rope.egg-info/PKG-INFO 2018-08-08 21:18:36.000000000 +0200 +++ new/rope-0.12.0/rope.egg-info/PKG-INFO 2019-02-11 11:50:53.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: rope -Version: 0.11.0 +Version: 0.12.0 Summary: a python refactoring library... Home-page: https://github.com/python-rope/rope Author: Ali Gholami Rudi @@ -28,8 +28,9 @@ ============ * Nick Smith <[email protected]> takes over maintaining rope. Many thanks to - Matěj Cepl for his work maintaining rope for the past few years!! - * Full python3 support is in progress... stay tuned + Matej Cepl for his work maintaining rope for the past few years!! + * Partial Python3 support, please file bugs and contribute patches if you + encounter gaps. Platform: UNKNOWN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/ropetest/refactor/renametest.py new/rope-0.12.0/ropetest/refactor/renametest.py --- old/rope-0.11.0/ropetest/refactor/renametest.py 2018-05-11 20:56:15.000000000 +0200 +++ new/rope-0.12.0/ropetest/refactor/renametest.py 2019-02-11 11:47:08.000000000 +0100 @@ -172,6 +172,14 @@ self.assertEquals('async def new_func():\n pass\nnew_func()', refactored) + @testutils.only_for('3.5') + def test_renaming_await(self): + code = 'async def b_func():\n pass\nasync def a_func():\n await b_func()' + refactored = self._local_rename(code, len(code) - 5, 'new_func') + self.assertEquals('async def new_func():\n pass\nasync def a_func():\n await new_func()', + refactored) + + def test_renaming_functions_across_modules(self): mod1 = testutils.create_module(self.project, 'mod1') mod1.write('def a_func():\n pass\na_func()\n') @@ -359,6 +367,29 @@ self.assertEquals('for new_var in range(10):\n print(new_var)\n', refactored) + @testutils.only_for('3.5') + def test_renaming_async_for_loop_variable(self): + code = 'async def func():\n async for var in range(10):\n print(var)\n' + refactored = self._local_rename(code, code.find('var') + 1, 'new_var') + self.assertEquals('async def func():\n async for new_var in range(10):\n print(new_var)\n', + refactored) + + @testutils.only_for('3.5') + def test_renaming_async_with_context_manager(self): + code = 'def a_cm(): pass\n'\ + 'async def a_func():\n async with a_cm() as x: pass' + refactored = self._local_rename(code, code.find('a_cm') + 1, 'another_cm') + expected = 'def another_cm(): pass\n'\ + 'async def a_func():\n async with another_cm() as x: pass' + self.assertEquals(refactored, expected) + + @testutils.only_for('3.5') + def test_renaming_async_with_as_variable(self): + code = 'async def func():\n async with a_func() as var:\n print(var)\n' + refactored = self._local_rename(code, code.find('var') + 1, 'new_var') + self.assertEquals('async def func():\n async with a_func() as new_var:\n print(new_var)\n', + refactored) + def test_renaming_parameters(self): code = 'def a_func(param):\n print(param)\na_func(param=hey)\n' refactored = self._local_rename(code, code.find('param') + 1, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rope-0.11.0/setup.py new/rope-0.12.0/setup.py --- old/rope-0.11.0/setup.py 2018-02-27 21:54:30.000000000 +0100 +++ new/rope-0.12.0/setup.py 2019-02-11 11:47:08.000000000 +0100 @@ -1,3 +1,4 @@ +import io import sys try: @@ -57,9 +58,9 @@ def get_long_description(): - lines = open('README.rst', 'rb').read().splitlines(False) - end = lines.index(b'Getting Started') - return '\n' + str(b'\n'.join(lines[:end])) + '\n' + lines = io.open('README.rst', 'r', encoding='utf8').read().splitlines(False) + end = lines.index('Getting Started') + return '\n' + '\n'.join(lines[:end]) + '\n' setup(name='rope', version=rope.VERSION,
