Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-aiosqlite for
openSUSE:Factory checked in at 2021-05-15 01:23:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aiosqlite (Old)
and /work/SRC/openSUSE:Factory/.python-aiosqlite.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiosqlite"
Sat May 15 01:23:59 2021 rev:2 rq:893040 version:0.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aiosqlite/python-aiosqlite.changes
2020-12-01 14:23:17.877626509 +0100
+++
/work/SRC/openSUSE:Factory/.python-aiosqlite.new.2988/python-aiosqlite.changes
2021-05-15 01:24:11.175025274 +0200
@@ -1,0 +2,12 @@
+Fri May 14 07:10:11 UTC 2021 - Matej Cepl <[email protected]>
+
+- Update to 0.17.0:
+ - Connection objects now raise ValueError when closed and a
+ command is executed (#79)
+ - Fix documented examples in readme (#104)
+ - Reduce logging severity for exceptions (#93)
+ - Stop logging result objects; they can be big (#102)
+- Add stdlib-typing_extensions.patch to avoid necessity for BR
+ python-typing_extensions (gh#omnilib/aiosqlite#114).
+
+-------------------------------------------------------------------
Old:
----
aiosqlite-0.16.0.tar.gz
New:
----
aiosqlite-0.17.0.tar.gz
stdlib-typing_extensions.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-aiosqlite.spec ++++++
--- /var/tmp/diff_new_pack.paf1Eh/_old 2021-05-15 01:24:11.775023165 +0200
+++ /var/tmp/diff_new_pack.paf1Eh/_new 2021-05-15 01:24:11.775023165 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-aiosqlite
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2019 Matthias Fehring <[email protected]>
#
# All modifications and additions to the file contributed by third parties
@@ -20,22 +20,23 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-aiosqlite
-Version: 0.16.0
+Version: 0.17.0
Release: 0
Summary: AsyncIO Bridge to the Standard Python sqlite3 Module
License: MIT
Group: Development/Languages/Python
URL: https://github.com/jreese/aiosqlite
Source:
https://files.pythonhosted.org/packages/source/a/aiosqlite/aiosqlite-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM stdlib-typing_extensions.patch gh#omnilib/aiosqlite#114
[email protected]
+# Dependency on typing_extensions is unnecessary
+Patch0: stdlib-typing_extensions.patch
BuildRequires: %{python_module setuptools >= 38.6.0}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python
-Requires: python-typing_extensions
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module aiounittest}
-BuildRequires: %{python_module typing_extensions}
BuildRequires: %{pythons}
# /SECTION
%python_subpackages
@@ -46,7 +47,7 @@
automatically closing connections.
%prep
-%setup -q -n aiosqlite-%{version}
+%autosetup -p1 -n aiosqlite-%{version}
%build
%python_build
++++++ aiosqlite-0.16.0.tar.gz -> aiosqlite-0.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/CHANGELOG.md
new/aiosqlite-0.17.0/CHANGELOG.md
--- old/aiosqlite-0.16.0/CHANGELOG.md 2020-11-02 02:08:09.494588900 +0100
+++ new/aiosqlite-0.17.0/CHANGELOG.md 2021-02-22 01:53:48.009672400 +0100
@@ -1,6 +1,39 @@
aiosqlite
=========
+v0.17.0
+-------
+
+Feature release
+
+* Connection objects now raise ValueError when closed and a command is
executed (#79)
+* Fix documented examples in readme (#104)
+
+```
+$ git shortlog -s v0.16.1...v0.17.0
+ 3 John Reese
+ 5 Mariano Sorgente
+ 1 Nuno Andr??
+ 1 pyup.io bot
+```
+
+
+v0.16.1
+-------
+
+Bug fix release
+
+- Reduce logging severity for exceptions (#93)
+- Stop logging result objects; they can be big (#102)
+
+```
+$ git shortlog -s v0.16.0...v0.16.1
+ 1 Alexei Chetroi
+ 3 John Reese
+ 3 pyup.io bot
+```
+
+
v0.16.0
-------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/PKG-INFO
new/aiosqlite-0.17.0/PKG-INFO
--- old/aiosqlite-0.16.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/aiosqlite-0.17.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: aiosqlite
-Version: 0.16.0
+Version: 0.17.0
Summary: asyncio bridge to the standard sqlite3 module
Home-page: https://aiosqlite.omnilib.dev
Author: John Reese
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/README.rst
new/aiosqlite-0.17.0/README.rst
--- old/aiosqlite-0.16.0/README.rst 2020-05-06 08:53:47.193215400 +0200
+++ new/aiosqlite-0.17.0/README.rst 2021-02-22 01:23:09.006072500 +0100
@@ -51,7 +51,8 @@
async with aiosqlite.connect(...) as db:
db.row_factory = aiosqlite.Row
async with db.execute('SELECT * FROM some_table') as cursor:
- value = row['column']
+ async for row in cursor:
+ value = row['column']
await db.execute('INSERT INTO foo some_table')
assert db.total_changes > 0
@@ -91,4 +92,4 @@
license. This is my personal repository; the license you receive to my code
is from me and not from my employer. See the `LICENSE`_ file for details.
-.. _LICENSE: https://github.com/omnilib/aiosqlite/blob/master/LICENSE
\ No newline at end of file
+.. _LICENSE: https://github.com/omnilib/aiosqlite/blob/master/LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/aiosqlite/__version__.py
new/aiosqlite-0.17.0/aiosqlite/__version__.py
--- old/aiosqlite-0.16.0/aiosqlite/__version__.py 2020-11-02
02:08:08.605816000 +0100
+++ new/aiosqlite-0.17.0/aiosqlite/__version__.py 2021-02-22
01:53:48.016908400 +0100
@@ -1 +1 @@
-__version__ = "0.16.0"
+__version__ = "0.17.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/aiosqlite/core.py
new/aiosqlite-0.17.0/aiosqlite/core.py
--- old/aiosqlite-0.16.0/aiosqlite/core.py 2020-11-01 23:41:22.427176000
+0100
+++ new/aiosqlite-0.17.0/aiosqlite/core.py 2021-02-22 01:48:46.597327000
+0100
@@ -87,16 +87,20 @@
:meta private:
"""
- while self._running:
+ while True:
+ # Continues running until all queue items are processed,
+ # even after connection is closed (so we can finalize all
+ # futures)
try:
future, function = self._tx.get(timeout=0.1)
except Empty:
- continue
-
+ if self._running:
+ continue
+ break
try:
LOG.debug("executing %s", function)
result = function()
- LOG.debug("returning %s", result)
+ LOG.debug("operation %s completed", function)
def set_result(fut, result):
if not fut.done():
@@ -104,7 +108,7 @@
get_loop(future).call_soon_threadsafe(set_result, future,
result)
except BaseException as e:
- LOG.info("returning exception %s", e)
+ LOG.debug("returning exception %s", e)
def set_exception(fut, e):
if not fut.done():
@@ -114,6 +118,9 @@
async def _execute(self, fn, *args, **kwargs):
"""Queue a function with the given arguments for execution."""
+ if not self._running or not self._connection:
+ raise ValueError("Connection closed")
+
function = partial(fn, *args, **kwargs)
future = asyncio.get_event_loop().create_future()
@@ -125,7 +132,9 @@
"""Connect to the actual sqlite database."""
if self._connection is None:
try:
- self._connection = await self._execute(self._connector)
+ future = asyncio.get_event_loop().create_future()
+ self._tx.put_nowait((future, self._connector))
+ self._connection = await future
except Exception:
self._running = False
self._connection = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/aiosqlite/tests/smoke.py
new/aiosqlite-0.17.0/aiosqlite/tests/smoke.py
--- old/aiosqlite-0.16.0/aiosqlite/tests/smoke.py 2020-10-29
06:36:47.585738000 +0100
+++ new/aiosqlite-0.17.0/aiosqlite/tests/smoke.py 2021-02-22
01:48:46.757064000 +0100
@@ -391,6 +391,31 @@
],
)
+ async def test_cursor_on_closed_connection(self):
+ db = await aiosqlite.connect(TEST_DB)
+
+ cursor = await db.execute("select 1, 2")
+ await db.close()
+ with self.assertRaisesRegex(ValueError, "Connection closed"):
+ await cursor.fetchall()
+ with self.assertRaisesRegex(ValueError, "Connection closed"):
+ await cursor.fetchall()
+
+ async def test_cursor_on_closed_connection_loop(self):
+ db = await aiosqlite.connect(TEST_DB)
+
+ cursor = await db.execute("select 1, 2")
+ tasks = []
+ for i in range(100):
+ if i == 50:
+ tasks.append(asyncio.ensure_future(db.close()))
+ tasks.append(asyncio.ensure_future(cursor.fetchall()))
+ for task in tasks:
+ try:
+ await task
+ except sqlite3.ProgrammingError:
+ pass
+
@skipIf(sys.version_info < (3, 7), "Test backup() on 3.7+")
async def test_backup_aiosqlite(self):
def progress(a, b, c):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/requirements-dev.txt
new/aiosqlite-0.17.0/requirements-dev.txt
--- old/aiosqlite-0.16.0/requirements-dev.txt 2020-11-02 01:58:22.712895600
+0100
+++ new/aiosqlite-0.17.0/requirements-dev.txt 2021-02-22 01:23:09.007283700
+0100
@@ -1,11 +1,11 @@
aiounittest==1.4.0
-attribution==1.3.1
+attribution==1.4.0
black==20.8b1
-codecov==2.1.10
-coverage[toml]==5.3
+codecov==2.1.11
+coverage[toml]==5.4
flit==3.0.0
-mypy==0.790
-pylint==2.6.0
-sphinx==3.2.1
-usort==0.5.0
+mypy==0.812
+pylint==2.6.2
+sphinx==3.5.1
+usort==0.6.2
git+https://github.com/miyakogi/m2r
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiosqlite-0.16.0/setup.py
new/aiosqlite-0.17.0/setup.py
--- old/aiosqlite-0.16.0/setup.py 1970-01-01 01:00:00.000000000 +0100
+++ new/aiosqlite-0.17.0/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -13,7 +13,7 @@
['typing_extensions>=3.7.2']
setup(name='aiosqlite',
- version='0.16.0',
+ version='0.17.0',
description='asyncio bridge to the standard sqlite3 module',
author='John Reese',
author_email='[email protected]',
++++++ stdlib-typing_extensions.patch ++++++
---
aiosqlite/context.py | 5 ++---
pyproject.toml | 2 +-
setup.py | 2 +-
3 files changed, 4 insertions(+), 5 deletions(-)
--- a/aiosqlite/context.py
+++ b/aiosqlite/context.py
@@ -3,9 +3,8 @@
from functools import wraps
-from typing import Any, Callable, Coroutine, Generator, TypeVar
-
-from typing_extensions import AsyncContextManager
+from typing import (Any, Callable, Coroutine, Generator, TypeVar,
+ AsyncContextManager)
from .cursor import Cursor
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -8,7 +8,7 @@ author = "John Reese"
author-email = "[email protected]"
description-file = "README.rst"
home-page = "https://aiosqlite.omnilib.dev"
-requires = ["typing_extensions>=3.7.2"]
+requires = []
requires-python = ">=3.6"
classifiers = [
"Development Status :: 5 - Production/Stable",
--- a/setup.py
+++ b/setup.py
@@ -10,7 +10,7 @@ package_data = \
{'': ['*']}
install_requires = \
-['typing_extensions>=3.7.2']
+[]
setup(name='aiosqlite',
version='0.17.0',