From fe63877bc89b07e011fe6f3d05fb05728f803cf6 Mon Sep 17 00:00:00 2001
From: aky15 <ankeyuthu@gmail.com>
Date: 星期二, 30 五月 2023 17:05:34 +0800
Subject: [PATCH] Dev aky2 (#561)

---
 funasr/utils/kwargs2args.py |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/funasr/utils/kwargs2args.py b/funasr/utils/kwargs2args.py
new file mode 100644
index 0000000..4e0cdba
--- /dev/null
+++ b/funasr/utils/kwargs2args.py
@@ -0,0 +1,19 @@
+import inspect
+
+
+def func(a: int, b, *, c, **kwargs):
+    pass
+
+def kwargs2args(func, kwargs):
+    parameters = inspect.signature(func).parameters
+    d = {k: i for i, k in enumerate(parameters)}
+    args = [None for i in range(len(parameters))]
+    for k, v in kwargs.items():
+        if k in d:
+            args[d[k]] = v
+
+    for i, v in enumerate(args):
+        if v is None:
+            break
+
+    return tuple(args[:i])

--
Gitblit v1.9.1