|
348 | 348 | "#export\n", |
349 | 349 | "def urlclean(url):\n", |
350 | 350 | " \"Remove fragment, params, and querystring from `url` if present\"\n", |
351 | | - " return urlunparse(urlparse(url)[:3]+('','',''))" |
| 351 | + " return urlunparse(urlparse(str(url))[:3]+('','',''))" |
352 | 352 | ] |
353 | 353 | }, |
354 | 354 | { |
|
370 | 370 | "def urlsave(url, dest=None):\n", |
371 | 371 | " \"Retrieve `url` and save based on its name\"\n", |
372 | 372 | " res = urlread(urlwrap(url), decode=False)\n", |
373 | | - " if dest is None: dest = Path(url).name\n", |
374 | | - " name = urlclean(dest)\n", |
375 | | - " Path(name).write_bytes(res)\n", |
| 373 | + " name = urlclean(Path(url).name)\n", |
| 374 | + " if dest is None: dest = name\n", |
| 375 | + " dest = Path(dest)\n", |
| 376 | + " if dest.is_dir(): dest = dest/name\n", |
| 377 | + " Path(dest).write_bytes(res)\n", |
376 | 378 | " return dest" |
377 | 379 | ] |
378 | 380 | }, |
| 381 | + { |
| 382 | + "cell_type": "code", |
| 383 | + "execution_count": null, |
| 384 | + "metadata": {}, |
| 385 | + "outputs": [ |
| 386 | + { |
| 387 | + "name": "stdout", |
| 388 | + "output_type": "stream", |
| 389 | + "text": [ |
| 390 | + "[Path('/tmp/tmpr3kv5gq_/index.html')]\n" |
| 391 | + ] |
| 392 | + } |
| 393 | + ], |
| 394 | + "source": [ |
| 395 | + "#skip\n", |
| 396 | + "with tempfile.TemporaryDirectory() as d: urlsave('http://www.google.com/index.html', d)" |
| 397 | + ] |
| 398 | + }, |
379 | 399 | { |
380 | 400 | "cell_type": "code", |
381 | 401 | "execution_count": null, |
|
626 | 646 | "Converted 05_transform.ipynb.\n", |
627 | 647 | "Converted 07_meta.ipynb.\n", |
628 | 648 | "Converted 08_script.ipynb.\n", |
629 | | - "Converted index.ipynb.\n" |
| 649 | + "Converted index.ipynb.\n", |
| 650 | + "Converted parallel_win.ipynb.\n" |
630 | 651 | ] |
631 | 652 | } |
632 | 653 | ], |
|
0 commit comments