|
645 | 645 | "outputs": [],
|
646 | 646 | "source": [
|
647 | 647 | "#| exports\n",
|
648 |
| - "def get_schema(f:callable, pname='input_schema')->dict:\n", |
| 648 | + "def get_schema(f:Union[callable,dict], pname='input_schema')->dict:\n", |
649 | 649 | " \"Generate JSON schema for a class, function, or method\"\n",
|
| 650 | + " if isinstance(f, dict): return f\n", |
650 | 651 | " schema = _get_nested_schema(f)\n",
|
651 | 652 | " desc = f.__doc__\n",
|
652 | 653 | " assert desc, \"Docstring missing!\"\n",
|
|
1530 | 1531 | "output_type": "stream",
|
1531 | 1532 | "text": [
|
1532 | 1533 | "Traceback (most recent call last):\n",
|
1533 |
| - " File \"/var/folders/51/b2_szf2945n072c0vj2cyty40000gn/T/ipykernel_12053/775515280.py\", line 12, in python\n", |
| 1534 | + " File \"/var/folders/51/b2_szf2945n072c0vj2cyty40000gn/T/ipykernel_46879/2963369439.py\", line 14, in python\n", |
1534 | 1535 | " try: return _run(code, glb, loc)\n",
|
1535 | 1536 | " ^^^^^^^^^^^^^^^^^^^^\n",
|
1536 |
| - " File \"/var/folders/51/b2_szf2945n072c0vj2cyty40000gn/T/ipykernel_12053/1858893181.py\", line 18, in _run\n", |
| 1537 | + " File \"/var/folders/51/b2_szf2945n072c0vj2cyty40000gn/T/ipykernel_46879/1858893181.py\", line 18, in _run\n", |
1537 | 1538 | " try: exec(compiled_code, glb, loc)\n",
|
1538 | 1539 | " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
1539 | 1540 | " File \"<ast>\", line 1, in <module>\n",
|
1540 |
| - " File \"/var/folders/51/b2_szf2945n072c0vj2cyty40000gn/T/ipykernel_12053/775515280.py\", line 9, in handler\n", |
| 1541 | + " File \"/var/folders/51/b2_szf2945n072c0vj2cyty40000gn/T/ipykernel_46879/2963369439.py\", line 9, in handler\n", |
1541 | 1542 | " def handler(*args): raise TimeoutError()\n",
|
1542 | 1543 | " ^^^^^^^^^^^^^^^^^^^^\n",
|
1543 | 1544 | "TimeoutError\n",
|
|
1858 | 1859 | }
|
1859 | 1860 | ],
|
1860 | 1861 | "source": [
|
1861 |
| - "call_func('sums', {'a': 1, 'b': 2}, ns=[sums])" |
| 1862 | + "await call_func('sums', {'a': 1, 'b': 2}, ns=[sums])" |
1862 | 1863 | ]
|
1863 | 1864 | },
|
1864 | 1865 | {
|
|
1879 | 1880 | }
|
1880 | 1881 | ],
|
1881 | 1882 | "source": [
|
1882 |
| - "call_func('subs', {'a': 1, 'b': 2}, ns=mk_ns(d))" |
| 1883 | + "await call_func('subs', {'a': 1, 'b': 2}, ns=mk_ns(d))" |
1883 | 1884 | ]
|
1884 | 1885 | },
|
1885 | 1886 | {
|
|
1932 | 1933 | " \"Awaits the function `fc_name` with the given `fc_inputs` using namespace `ns`.\"\n",
|
1933 | 1934 | " if not isinstance(ns, abc.Mapping): ns = mk_ns(*ns)\n",
|
1934 | 1935 | " func = ns[fc_name]\n",
|
1935 |
| - " return await func(**fc_inputs)" |
| 1936 | + " res = func(**fc_inputs)\n", |
| 1937 | + " if inspect.iscoroutine(res): res = await res\n", |
| 1938 | + " return res" |
1936 | 1939 | ]
|
1937 | 1940 | },
|
1938 | 1941 | {
|
|
0 commit comments