File tree 3 files changed +10
-45
lines changed
3 files changed +10
-45
lines changed Original file line number Diff line number Diff line change @@ -356,28 +356,19 @@ def _relocate(src: str, dst: str) -> None:
356
356
return
357
357
358
358
# If the source is not contained in source_directories we're not allowed to delete it
359
- real_src = fs_access .realpath (src )
359
+ src = fs_access .realpath (src )
360
360
src_can_deleted = any (
361
- os .path .commonprefix ([p , real_src ]) == p for p in source_directories
361
+ os .path .commonprefix ([p , src ]) == p for p in source_directories
362
362
)
363
363
364
364
_action = "move" if action == "move" and src_can_deleted else "copy"
365
365
366
366
if _action == "move" :
367
367
_logger .debug ("Moving %s to %s" , src , dst )
368
- if fs_access .isdir (src ):
369
- if fs_access .isdir (dst ):
370
- if len (fs_access .listdir (dst )) > 0 :
371
- # merge directories
372
- for dir_entry in scandir (src ):
373
- _relocate (
374
- dir_entry .path , fs_access .join (dst , dir_entry .name )
375
- )
376
- else :
377
- os .rmdir (dst )
378
- shutil .move (src , dst )
379
- else :
380
- shutil .move (src , dst )
368
+ if fs_access .isdir (src ) and fs_access .isdir (dst ):
369
+ # merge directories
370
+ for dir_entry in scandir (src ):
371
+ _relocate (dir_entry .path , fs_access .join (dst , dir_entry .name ))
381
372
else :
382
373
shutil .move (src , dst )
383
374
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 6
6
7
7
from .util import get_data , needs_docker
8
8
9
- from io import StringIO
9
+ if sys .version_info [0 ] < 3 :
10
+ from StringIO import StringIO
11
+ else :
12
+ from io import StringIO
10
13
11
14
12
15
@needs_docker
@@ -15,21 +18,6 @@ def test_for_910() -> None:
15
18
assert main ([get_data ("tests/wf/910.cwl" )]) == 0
16
19
17
20
18
- def test_symlinks_with_absolute_paths (tmp_path : Path ) -> None :
19
- """Confirm that absolute paths in Directory types don't cause problems."""
20
- assert (
21
- main (
22
- [
23
- "--debug" ,
24
- f"--outdir={ tmp_path } /result" ,
25
- f"--tmpdir-prefix={ tmp_path } /tmp" ,
26
- get_data ("tests/symlinks.cwl" ),
27
- ]
28
- )
29
- == 0
30
- )
31
-
32
-
33
21
@needs_docker
34
22
def test_for_conflict_file_names (tmp_path : Path ) -> None :
35
23
stream = StringIO ()
You can’t perform that action at this time.
0 commit comments