- Add patch support-python-314.patch:
* Support Python 3.14 asyncio changes. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-fire?expand=0&rev=33
This commit is contained in:
63
support-python-314.patch
Normal file
63
support-python-314.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
From 1aa72a66acd4e9dc421deb5523a429f9f4519421 Mon Sep 17 00:00:00 2001
|
||||
From: David Bieber <david810@gmail.com>
|
||||
Date: Sat, 16 Aug 2025 16:42:23 -0400
|
||||
Subject: [PATCH 1/4] Add Python 3.13 and 3.14 checking in build workflow
|
||||
|
||||
---
|
||||
.github/workflows/build.yml | 2 +-
|
||||
pyproject.toml | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: fire-0.7.1/pyproject.toml
|
||||
===================================================================
|
||||
--- fire-0.7.1.orig/pyproject.toml
|
||||
+++ fire-0.7.1/pyproject.toml
|
||||
@@ -24,6 +24,7 @@ classifiers = [
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
+ "Programming Language :: Python :: 3.14",
|
||||
"Operating System :: OS Independent",
|
||||
"Operating System :: POSIX",
|
||||
"Operating System :: MacOS",
|
||||
Index: fire-0.7.1/fire/core.py
|
||||
===================================================================
|
||||
--- fire-0.7.1.orig/fire/core.py
|
||||
+++ fire-0.7.1/fire/core.py
|
||||
@@ -678,8 +678,14 @@ def _CallAndUpdateTrace(component, args,
|
||||
|
||||
# Call the function.
|
||||
if inspectutils.IsCoroutineFunction(fn):
|
||||
- loop = asyncio.get_event_loop()
|
||||
- component = loop.run_until_complete(fn(*varargs, **kwargs))
|
||||
+ try:
|
||||
+ loop = asyncio.get_running_loop()
|
||||
+ except RuntimeError:
|
||||
+ # No event loop running, create a new one
|
||||
+ component = asyncio.run(fn(*varargs, **kwargs))
|
||||
+ else:
|
||||
+ # Event loop is already running
|
||||
+ component = loop.run_until_complete(fn(*varargs, **kwargs))
|
||||
else:
|
||||
component = fn(*varargs, **kwargs)
|
||||
|
||||
Index: fire-0.7.1/fire/inspectutils.py
|
||||
===================================================================
|
||||
--- fire-0.7.1.orig/fire/inspectutils.py
|
||||
+++ fire-0.7.1/fire/inspectutils.py
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
"""Inspection utility functions for Python Fire."""
|
||||
|
||||
-import asyncio
|
||||
import inspect
|
||||
import sys
|
||||
import types
|
||||
@@ -345,6 +344,6 @@ def GetClassAttrsDict(component):
|
||||
|
||||
def IsCoroutineFunction(fn):
|
||||
try:
|
||||
- return asyncio.iscoroutinefunction(fn)
|
||||
+ return inspect.iscoroutinefunction(fn)
|
||||
except: # pylint: disable=bare-except
|
||||
return False
|
||||
Reference in New Issue
Block a user