Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-nest-asyncio for
openSUSE:Factory checked in at 2024-01-31 23:53:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nest-asyncio (Old)
and /work/SRC/openSUSE:Factory/.python-nest-asyncio.new.1815 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nest-asyncio"
Wed Jan 31 23:53:25 2024 rev:9 rq:1142841 version:1.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nest-asyncio/python-nest-asyncio.changes
2024-01-21 23:07:24.203421397 +0100
+++
/work/SRC/openSUSE:Factory/.python-nest-asyncio.new.1815/python-nest-asyncio.changes
2024-01-31 23:53:34.668616240 +0100
@@ -1,0 +2,7 @@
+Tue Jan 30 18:04:45 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 1.6.0:
+ * Pre-empt current task before running handle, allowing unpatched
+ tasks
+
+-------------------------------------------------------------------
Old:
----
nest_asyncio-1.5.9.tar.gz
New:
----
nest_asyncio-1.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nest-asyncio.spec ++++++
--- /var/tmp/diff_new_pack.NfjPoK/_old 2024-01-31 23:53:35.932661845 +0100
+++ /var/tmp/diff_new_pack.NfjPoK/_new 2024-01-31 23:53:35.932661845 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-nest-asyncio
-Version: 1.5.9
+Version: 1.6.0
Release: 0
Summary: Patch asyncio to allow nested event loops
License: BSD-2-Clause
++++++ nest_asyncio-1.5.9.tar.gz -> nest_asyncio-1.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nest_asyncio-1.5.9/PKG-INFO
new/nest_asyncio-1.6.0/PKG-INFO
--- old/nest_asyncio-1.5.9/PKG-INFO 2024-01-15 15:01:12.687237300 +0100
+++ new/nest_asyncio-1.6.0/PKG-INFO 2024-01-21 15:25:16.197325700 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: nest_asyncio
-Version: 1.5.9
+Version: 1.6.0
Summary: Patch asyncio to allow nested event loops
Home-page: https://github.com/erdewit/nest_asyncio
Author: Ewald R. de Wit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nest_asyncio-1.5.9/nest_asyncio.egg-info/PKG-INFO
new/nest_asyncio-1.6.0/nest_asyncio.egg-info/PKG-INFO
--- old/nest_asyncio-1.5.9/nest_asyncio.egg-info/PKG-INFO 2024-01-15
15:01:12.000000000 +0100
+++ new/nest_asyncio-1.6.0/nest_asyncio.egg-info/PKG-INFO 2024-01-21
15:25:16.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: nest-asyncio
-Version: 1.5.9
+Version: 1.6.0
Summary: Patch asyncio to allow nested event loops
Home-page: https://github.com/erdewit/nest_asyncio
Author: Ewald R. de Wit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nest_asyncio-1.5.9/nest_asyncio.py
new/nest_asyncio-1.6.0/nest_asyncio.py
--- old/nest_asyncio-1.5.9/nest_asyncio.py 2024-01-15 14:55:26.000000000
+0100
+++ new/nest_asyncio-1.6.0/nest_asyncio.py 2024-01-21 15:10:29.000000000
+0100
@@ -13,7 +13,6 @@
"""Patch asyncio to make its event loop reentrant."""
_patch_asyncio()
_patch_policy()
- _patch_task()
_patch_tornado()
loop = loop or asyncio.get_event_loop()
@@ -126,7 +125,17 @@
break
handle = ready.popleft()
if not handle._cancelled:
- handle._run()
+ # preempt the current task so that that checks in
+ # Task.__step do not raise
+ curr_task = curr_tasks.pop(self, None)
+
+ try:
+ handle._run()
+ finally:
+ # restore the current task
+ if curr_task is not None:
+ curr_tasks[self] = curr_task
+
handle = None
@contextmanager
@@ -193,45 +202,11 @@
os.name == 'nt' and issubclass(cls, asyncio.ProactorEventLoop))
if sys.version_info < (3, 7, 0):
cls._set_coroutine_origin_tracking = cls._set_coroutine_wrapper
+ curr_tasks = asyncio.tasks._current_tasks \
+ if sys.version_info >= (3, 7, 0) else asyncio.Task._current_tasks
cls._nest_patched = True
-def _patch_task():
- """Patch the Task's step and enter/leave methods to make it reentrant."""
-
- def step(task, exc=None):
- curr_task = curr_tasks.get(task._loop)
- try:
- step_orig(task, exc)
- finally:
- if curr_task is None:
- curr_tasks.pop(task._loop, None)
- else:
- curr_tasks[task._loop] = curr_task
-
- Task = asyncio.Task
- if hasattr(Task, '_nest_patched'):
- return
- if sys.version_info >= (3, 7, 0):
-
- def enter_task(loop, task):
- curr_tasks[loop] = task
-
- def leave_task(loop, task):
- curr_tasks.pop(loop, None)
-
- asyncio.tasks._enter_task = enter_task
- asyncio.tasks._leave_task = leave_task
- curr_tasks = asyncio.tasks._current_tasks
- step_orig = Task._Task__step
- Task._Task__step = step
- else:
- curr_tasks = Task._current_tasks
- step_orig = Task._step
- Task._step = step
- Task._nest_patched = True
-
-
def _patch_tornado():
"""
If tornado is imported before nest_asyncio, make tornado aware of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nest_asyncio-1.5.9/setup.cfg
new/nest_asyncio-1.6.0/setup.cfg
--- old/nest_asyncio-1.5.9/setup.cfg 2024-01-15 15:01:12.687237300 +0100
+++ new/nest_asyncio-1.6.0/setup.cfg 2024-01-21 15:25:16.198325600 +0100
@@ -1,6 +1,6 @@
[metadata]
name = nest_asyncio
-version = 1.5.9
+version = 1.6.0
author = Ewald R. de Wit
author_email = [email protected]
license = BSD