|
270 | 270 | "try: load_ipython_extension(get_ipython())\n", |
271 | 271 | "except NameError: pass\n", |
272 | 272 | "\n", |
273 | | - "# pyrun = RunPython(sentinel='__dialog_name')\n", |
274 | | - "# try: create_pyrun_magic(get_ipython(), pyrun=pyrun)\n", |
275 | | - "# except NameError: pass\n", |
276 | 273 | "__llmtools__.add('pyrun')" |
277 | 274 | ] |
278 | 275 | }, |
|
306 | 303 | "outputs": [], |
307 | 304 | "source": [ |
308 | 305 | "#| export\n", |
| 306 | + "_cached_dname = None\n", |
| 307 | + "\n", |
309 | 308 | "def find_dname(dname=None):\n", |
310 | 309 | " \"Get the dialog name by searching the call stack for __dialog_name, and resolving `dname` if supplied.\"\n", |
| 310 | + " global _cached_dname\n", |
311 | 311 | " if dname:\n", |
312 | 312 | " dname = dname.removesuffix('.ipynb')\n", |
313 | 313 | " if dname.startswith('/'): return dname\n", |
314 | 314 | " curr = dh_settings.get('dname', None)\n", |
315 | | - " if not curr: curr = find_var('__dialog_name')\n", |
| 315 | + " if not curr:\n", |
| 316 | + " if _cached_dname is None: _cached_dname = find_var('__dialog_name')\n", |
| 317 | + " curr = _cached_dname\n", |
316 | 318 | " if not dname: return '/'+curr\n", |
317 | 319 | " p = Path(curr).parent\n", |
318 | 320 | " res = normpath((p/dname))\n", |
|
355 | 357 | "find_dname()" |
356 | 358 | ] |
357 | 359 | }, |
| 360 | + { |
| 361 | + "cell_type": "code", |
| 362 | + "execution_count": null, |
| 363 | + "id": "e0f4ef57", |
| 364 | + "metadata": {}, |
| 365 | + "outputs": [ |
| 366 | + { |
| 367 | + "data": { |
| 368 | + "text/plain": [ |
| 369 | + "'/aai-ws/dialoghelper/nbs/00_core'" |
| 370 | + ] |
| 371 | + }, |
| 372 | + "execution_count": null, |
| 373 | + "metadata": {}, |
| 374 | + "output_type": "execute_result" |
| 375 | + } |
| 376 | + ], |
| 377 | + "source": [ |
| 378 | + "async def repro_executor():\n", |
| 379 | + " return await asyncio.get_event_loop().run_in_executor(None, find_dname)\n", |
| 380 | + "await repro_executor()" |
| 381 | + ] |
| 382 | + }, |
358 | 383 | { |
359 | 384 | "cell_type": "code", |
360 | 385 | "execution_count": null, |
|
0 commit comments