|
33 | 33 | "metadata": {
|
34 | 34 | "collapsed": false,
|
35 | 35 | "ExecuteTime": {
|
36 |
| - "end_time": "2024-02-19T15:10:35.668132096Z", |
37 |
| - "start_time": "2024-02-19T15:10:35.661355780Z" |
| 36 | + "end_time": "2024-02-22T14:42:41.840621313Z", |
| 37 | + "start_time": "2024-02-22T14:42:41.826582123Z" |
38 | 38 | }
|
39 | 39 | },
|
40 | 40 | "outputs": [],
|
|
74 | 74 | "metadata": {
|
75 | 75 | "collapsed": false,
|
76 | 76 | "ExecuteTime": {
|
77 |
| - "end_time": "2024-02-19T15:10:35.750564608Z", |
78 |
| - "start_time": "2024-02-19T15:10:35.669692678Z" |
| 77 | + "end_time": "2024-02-22T14:42:41.874028812Z", |
| 78 | + "start_time": "2024-02-22T14:42:41.830823958Z" |
79 | 79 | }
|
80 | 80 | },
|
81 | 81 | "outputs": [
|
|
115 | 115 | "metadata": {
|
116 | 116 | "collapsed": false,
|
117 | 117 | "ExecuteTime": {
|
118 |
| - "end_time": "2024-02-19T15:10:35.751558242Z", |
119 |
| - "start_time": "2024-02-19T15:10:35.746229492Z" |
| 118 | + "end_time": "2024-02-22T14:42:41.905474515Z", |
| 119 | + "start_time": "2024-02-22T14:42:41.852589101Z" |
120 | 120 | }
|
121 | 121 | },
|
122 | 122 | "outputs": [
|
|
152 | 152 | "metadata": {
|
153 | 153 | "collapsed": false,
|
154 | 154 | "ExecuteTime": {
|
155 |
| - "end_time": "2024-02-19T15:10:35.752221829Z", |
156 |
| - "start_time": "2024-02-19T15:10:35.746760363Z" |
| 155 | + "end_time": "2024-02-22T14:42:41.906036777Z", |
| 156 | + "start_time": "2024-02-22T14:42:41.875777447Z" |
157 | 157 | }
|
158 | 158 | },
|
159 | 159 | "outputs": [
|
|
227 | 227 | "metadata": {
|
228 | 228 | "collapsed": false,
|
229 | 229 | "ExecuteTime": {
|
230 |
| - "end_time": "2024-02-19T15:10:35.752788470Z", |
231 |
| - "start_time": "2024-02-19T15:10:35.747166792Z" |
| 230 | + "end_time": "2024-02-22T14:42:41.906495146Z", |
| 231 | + "start_time": "2024-02-22T14:42:41.875950983Z" |
232 | 232 | }
|
233 | 233 | },
|
234 | 234 | "outputs": [
|
|
267 | 267 | "metadata": {
|
268 | 268 | "collapsed": false,
|
269 | 269 | "ExecuteTime": {
|
270 |
| - "end_time": "2024-02-19T15:10:35.753369976Z", |
271 |
| - "start_time": "2024-02-19T15:10:35.747539701Z" |
| 270 | + "end_time": "2024-02-22T14:42:41.969747703Z", |
| 271 | + "start_time": "2024-02-22T14:42:41.876084914Z" |
272 | 272 | }
|
273 | 273 | },
|
274 | 274 | "outputs": [
|
|
324 | 324 | "metadata": {
|
325 | 325 | "collapsed": false,
|
326 | 326 | "ExecuteTime": {
|
327 |
| - "end_time": "2024-02-19T15:10:35.754178890Z", |
328 |
| - "start_time": "2024-02-19T15:10:35.748805566Z" |
| 327 | + "end_time": "2024-02-22T14:42:41.970263505Z", |
| 328 | + "start_time": "2024-02-22T14:42:41.905686849Z" |
329 | 329 | }
|
330 | 330 | },
|
331 | 331 | "outputs": [
|
|
371 | 371 | "collapsed": false
|
372 | 372 | },
|
373 | 373 | "source": [
|
374 |
| - "Note that information is lost when converting to a `file` URL, i.e.whether the path was originally a device path or not. This can have implications for device paths that cannot be normalised, e.g. going beyond the `MAX_PATH` limit. Addressing this is the subject of future work." |
| 374 | + "Note that information is lost when converting to a `file` URL, i.e. whether the path was originally a device path or not. This can have implications for device paths that cannot be normalised by the Windows API. \n", |
| 375 | + "\n", |
| 376 | + "As a special case, paths that exceed the Windows `MAX_PATH` limit will be automatically converted to non-normalised device paths (i.e. prefixed with `\\\\?\\`):" |
375 | 377 | ]
|
376 | 378 | },
|
| 379 | + { |
| 380 | + "cell_type": "code", |
| 381 | + "outputs": [ |
| 382 | + { |
| 383 | + "data": { |
| 384 | + "text/markdown": "> **Result:**\n> - `Long drive path: \\\\?\\C:\\w\\012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234`\n> - `Long share path: \\\\?\\UNC\\host\\share\\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456`" |
| 385 | + }, |
| 386 | + "metadata": {}, |
| 387 | + "output_type": "display_data" |
| 388 | + } |
| 389 | + ], |
| 390 | + "source": [ |
| 391 | + "long_drive_path = converter.pathFromUrl(\n", |
| 392 | + " \"file:///C:/w/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\"\n", |
| 393 | + " \"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234\",\n", |
| 394 | + " PathType.kWindows)\n", |
| 395 | + "\n", |
| 396 | + "long_unc_path = converter.pathFromUrl(\n", |
| 397 | + " \"file://host/share/\"\n", |
| 398 | + " \"01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\"\n", |
| 399 | + " \"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456\",\n", |
| 400 | + " PathType.kWindows)\n", |
| 401 | + "\n", |
| 402 | + "display_result((f\"Long drive path: {long_drive_path}\", f\"Long share path: {long_unc_path}\"))" |
| 403 | + ], |
| 404 | + "metadata": { |
| 405 | + "collapsed": false, |
| 406 | + "ExecuteTime": { |
| 407 | + "end_time": "2024-02-22T14:42:41.970844973Z", |
| 408 | + "start_time": "2024-02-22T14:42:41.905879463Z" |
| 409 | + } |
| 410 | + }, |
| 411 | + "id": "6646fff173b8364e", |
| 412 | + "execution_count": 8 |
| 413 | + }, |
377 | 414 | {
|
378 | 415 | "cell_type": "markdown",
|
379 | 416 | "id": "eb41ffc96d1228d9",
|
|
398 | 435 | },
|
399 | 436 | {
|
400 | 437 | "cell_type": "code",
|
401 |
| - "execution_count": 8, |
| 438 | + "execution_count": 9, |
402 | 439 | "id": "23bd55feb9d6f65b",
|
403 | 440 | "metadata": {
|
404 | 441 | "collapsed": false,
|
405 | 442 | "ExecuteTime": {
|
406 |
| - "end_time": "2024-02-19T15:10:35.755287822Z", |
407 |
| - "start_time": "2024-02-19T15:10:35.749198579Z" |
| 443 | + "end_time": "2024-02-22T14:42:41.972347420Z", |
| 444 | + "start_time": "2024-02-22T14:42:41.948777138Z" |
408 | 445 | }
|
409 | 446 | },
|
410 | 447 | "outputs": [
|
|
0 commit comments