Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-bottle for openSUSE:Factory 
checked in at 2023-03-07 16:48:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-bottle (Old)
 and      /work/SRC/openSUSE:Factory/.python-bottle.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-bottle"

Tue Mar  7 16:48:30 2023 rev:22 rq:1069528 version:0.12.25

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-bottle/python-bottle.changes      
2023-02-23 16:31:03.193297775 +0100
+++ /work/SRC/openSUSE:Factory/.python-bottle.new.31432/python-bottle.changes   
2023-03-07 16:48:41.797067443 +0100
@@ -1,0 +2,15 @@
+Sun Mar  5 17:56:40 UTC 2023 - Benoît Monin <[email protected]>
+
+- update to version 0.12.25: bugfix release
+  * Reduce deprectation warnings during tests
+  * Adjusts the test_server 'fetch' method to disable proxying
+    within test cases where it is used
+  * fix #1194: Regular expression catastrophic backtracking in
+    bottle.Router.rule_syntax
+  * fix #1155: Catastrophic backtracking issue in template parser
+  * Fix release task in Makefile
+  * fix: Raising HTTPResponse should not bypass JsonPlugin
+- drop python_module macro: provided by python-rpm-macros
+- run fdupes to deduplicate identical files
+
+-------------------------------------------------------------------

Old:
----
  bottle-0.12.24.tar.gz

New:
----
  bottle-0.12.25.tar.gz

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

Other differences:
------------------
++++++ python-bottle.spec ++++++
--- /var/tmp/diff_new_pack.JfS2LZ/_old  2023-03-07 16:48:42.369070454 +0100
+++ /var/tmp/diff_new_pack.JfS2LZ/_new  2023-03-07 16:48:42.373070475 +0100
@@ -16,9 +16,8 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-bottle
-Version:        0.12.24
+Version:        0.12.25
 Release:        0
 Summary:        WSGI framework for small web applications
 License:        MIT
@@ -26,6 +25,7 @@
 Source:         
https://files.pythonhosted.org/packages/source/b/bottle/bottle-%{version}.tar.gz
 Source1:        http://bottlepy.org/docs/0.12/bottle-docs.pdf
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires(post): update-alternatives
 Requires(postun):update-alternatives
@@ -62,6 +62,7 @@
 
 %install
 %python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
 %python_clone -a %{buildroot}%{_bindir}/bottle.py
 
 %check

++++++ bottle-0.12.24.tar.gz -> bottle-0.12.25.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/PKG-INFO new/bottle-0.12.25/PKG-INFO
--- old/bottle-0.12.24/PKG-INFO 2023-02-21 12:41:48.223560600 +0100
+++ new/bottle-0.12.25/PKG-INFO 2023-03-04 16:34:07.925226700 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: bottle
-Version: 0.12.24
+Version: 0.12.25
 Summary: Fast and simple WSGI-framework for small web-applications.
 Home-page: http://bottlepy.org/
 Author: Marcel Hellkamp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/bottle.egg-info/PKG-INFO 
new/bottle-0.12.25/bottle.egg-info/PKG-INFO
--- old/bottle-0.12.24/bottle.egg-info/PKG-INFO 2023-02-21 12:41:48.000000000 
+0100
+++ new/bottle-0.12.25/bottle.egg-info/PKG-INFO 2023-03-04 16:34:07.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: bottle
-Version: 0.12.24
+Version: 0.12.25
 Summary: Fast and simple WSGI-framework for small web-applications.
 Home-page: http://bottlepy.org/
 Author: Marcel Hellkamp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/bottle.py new/bottle-0.12.25/bottle.py
--- old/bottle-0.12.24/bottle.py        2023-02-21 12:39:15.000000000 +0100
+++ new/bottle-0.12.25/bottle.py        2023-03-04 16:33:29.000000000 +0100
@@ -16,7 +16,7 @@
 from __future__ import with_statement
 
 __author__ = 'Marcel Hellkamp'
-__version__ = '0.12.24'
+__version__ = '0.12.25'
 __license__ = 'MIT'
 
 # The gevent server adapter needs to patch some modules before they are 
imported
@@ -308,7 +308,7 @@
     rule_syntax = re.compile('(\\\\*)'\
         '(?:(?::([a-zA-Z_][a-zA-Z_0-9]*)?()(?:#(.*?)#)?)'\
           '|(?:<([a-zA-Z_][a-zA-Z_0-9]*)?(?::([a-zA-Z_]*)'\
-            '(?::((?:\\\\.|[^\\\\>]+)+)?)?)?>))')
+            '(?::((?:\\\\.|[^\\\\>])+)?)?)?>))')
 
     def _itertokens(self, rule):
         offset, prefix = 0, ''
@@ -1757,7 +1757,7 @@
         def wrapper(*a, **ka):
             try:
                 rv = callback(*a, **ka)
-            except HTTPError:
+            except HTTPResponse:
                 rv = _e()
 
             if isinstance(rv, dict):
@@ -3489,7 +3489,7 @@
     # Match the start tokens of code areas in a template
     _re_split = '(?m)^[ \t]*(\\\\?)((%(line_start)s)|(%(block_start)s))(%%?)'
     # Match inline statements (may contain python strings)
-    _re_inl = '(?m)%%(inline_start)s((?:%s|[^\'"\n]*?)+)%%(inline_end)s' % 
_re_inl
+    _re_inl = '(?m)%%(inline_start)s((?:%s|[^\'"\n])*?)%%(inline_end)s' % 
_re_inl
     _re_tok = '(?m)' + _re_tok
 
     default_syntax = '<% %> % {{ }}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/test/test_config.py 
new/bottle-0.12.25/test/test_config.py
--- old/bottle-0.12.24/test/test_config.py      2023-01-17 18:24:28.000000000 
+0100
+++ new/bottle-0.12.25/test/test_config.py      2023-03-04 16:32:26.000000000 
+0100
@@ -29,16 +29,16 @@
         c['bool'] = 'I am so true!'
         c['int']  = '6'
         self.assertTrue(c['bool'] is True)
-        self.assertEquals(c['int'], 6)
+        self.assertEqual(c['int'], 6)
         self.assertRaises(ValueError, lambda: c.update(int='not an int'))
 
     def test_load_dict(self):
         c = ConfigDict()
         d = dict(a=dict(b=dict(foo=5, bar=6), baz=7))
         c.load_dict(d)
-        self.assertEquals(c['a.b.foo'], 5)
-        self.assertEquals(c['a.b.bar'], 6)
-        self.assertEquals(c['a.baz'], 7)
+        self.assertEqual(c['a.b.foo'], 5)
+        self.assertEqual(c['a.b.bar'], 6)
+        self.assertEqual(c['a.baz'], 7)
    
 if __name__ == '__main__': #pragma: no cover
     unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/test/test_environ.py 
new/bottle-0.12.25/test/test_environ.py
--- old/bottle-0.12.24/test/test_environ.py     2023-02-21 12:36:43.000000000 
+0100
+++ new/bottle-0.12.25/test/test_environ.py     2023-03-04 16:32:26.000000000 
+0100
@@ -299,7 +299,7 @@
         e['wsgi.input'].seek(0)
         e['HTTP_TRANSFER_ENCODING'] = 'chunked'
         if isinstance(expect, str):
-            self.assertEquals(tob(expect), BaseRequest(e).body.read())
+            self.assertEqual(tob(expect), BaseRequest(e).body.read())
         else:
             self.assertRaises(expect, lambda: BaseRequest(e).body)
 
@@ -581,7 +581,7 @@
     def test_content_type(self):
         rs = BaseResponse()
         rs.content_type = 'test/some'
-        self.assertEquals('test/some', rs.headers.get('Content-Type'))
+        self.assertEqual('test/some', rs.headers.get('Content-Type'))
 
     def test_charset(self):
         rs = BaseResponse()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/test/test_importhook.py 
new/bottle-0.12.25/test/test_importhook.py
--- old/bottle-0.12.24/test/test_importhook.py  2023-01-17 18:24:28.000000000 
+0100
+++ new/bottle-0.12.25/test/test_importhook.py  2023-03-04 16:32:26.000000000 
+0100
@@ -1,12 +1,12 @@
 # -*- coding: utf-8 -*-
 import unittest
 import sys, os
-import imp
+from bottle import new_module
 
 class TestImportHooks(unittest.TestCase):
 
     def make_module(self, name, **args):
-        mod = sys.modules.setdefault(name, imp.new_module(name))
+        mod = sys.modules.setdefault(name, new_module(name))
         mod.__file__ = '<virtual %s>' % name
         mod.__dict__.update(**args)
         return mod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/test/test_plugins.py 
new/bottle-0.12.25/test/test_plugins.py
--- old/bottle-0.12.24/test/test_plugins.py     2023-01-17 18:24:28.000000000 
+0100
+++ new/bottle-0.12.25/test/test_plugins.py     2023-03-04 16:32:26.000000000 
+0100
@@ -194,7 +194,7 @@
             def __call__(self, func): return func
             def setup(self, app): self.app = app
         plugin = self.app.install(Plugin())
-        self.assertEquals(getattr(plugin, 'app', None), self.app)
+        self.assertEqual(getattr(plugin, 'app', None), self.app)
 
     def test_close(self):
         class Plugin(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/test/test_server.py 
new/bottle-0.12.25/test/test_server.py
--- old/bottle-0.12.24/test/test_server.py      2023-01-17 18:24:28.000000000 
+0100
+++ new/bottle-0.12.25/test/test_server.py      2023-03-04 16:32:26.000000000 
+0100
@@ -11,9 +11,9 @@
 from bottle import _e
 
 try:
-    from urllib.request import urlopen
+    from urllib.request import ProxyHandler, build_opener
 except:
-    from urllib2 import urlopen
+    from urllib2 import ProxyHandler, build_opener
 
 serverscript = os.path.join(os.path.dirname(__file__), 'servertest.py')
 
@@ -77,8 +77,10 @@
                     raise AssertionError(line.strip().decode('utf8'))
 
     def fetch(self, url):
+        proxy_handler = ProxyHandler(proxies={})
+        url_opener = build_opener(proxy_handler)
         try:
-            return urlopen('http://127.0.0.1:%d/%s' % (self.port, url)).read()
+            return url_opener.open('http://127.0.0.1:%d/%s' % (self.port, 
url)).read()
         except Exception:
             return repr(_e())
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/test/test_stpl.py 
new/bottle-0.12.25/test/test_stpl.py
--- old/bottle-0.12.24/test/test_stpl.py        2023-01-17 18:24:28.000000000 
+0100
+++ new/bottle-0.12.25/test/test_stpl.py        2023-03-04 16:32:26.000000000 
+0100
@@ -54,7 +54,7 @@
         self.assertRenders('<{{var}}>', '<[1, 2]>', var=[1,2])
 
     def test_htmlutils_quote(self):
-        self.assertEquals('"&lt;&#039;&#13;&#10;&#9;&quot;\\&gt;"', 
html_quote('<\'\r\n\t"\\>'));
+        self.assertEqual('"&lt;&#039;&#13;&#10;&#9;&quot;\\&gt;"', 
html_quote('<\'\r\n\t"\\>'));
 
     def test_escape(self):
         self.assertRenders('<{{var}}>', '<b>', var='b')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bottle-0.12.24/test/test_wsgi.py 
new/bottle-0.12.25/test/test_wsgi.py
--- old/bottle-0.12.24/test/test_wsgi.py        2023-01-17 18:24:28.000000000 
+0100
+++ new/bottle-0.12.25/test/test_wsgi.py        2023-03-04 16:32:26.000000000 
+0100
@@ -257,7 +257,7 @@
     def test_name(self):
         @bottle.route(name='foo')
         def test(x=5): return 'ok'
-        self.assertEquals('/test/6', bottle.url('foo', x=6))
+        self.assertEqual('/test/6', bottle.url('foo', x=6))
 
     def test_callback(self):
         def test(x=5): return str(x)

Reply via email to