1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-04 12:46:44 +00:00

check shutil error for #294

This commit is contained in:
deadc0de6
2020-12-07 12:56:05 +01:00
parent 831b3ddc1a
commit 5b0a1f3a3d
3 changed files with 44 additions and 8 deletions

View File

@@ -173,13 +173,17 @@ class Importer:
if self.dry:
self.log.dry('would copy {} to {}'.format(dst, srcf))
else:
# copy the file to the dotpath
if os.path.isdir(dst):
if os.path.exists(srcf):
shutil.rmtree(srcf)
shutil.copytree(dst, srcf)
else:
shutil.copy2(dst, srcf)
try:
# copy the file to the dotpath
if os.path.isdir(dst):
if os.path.exists(srcf):
shutil.rmtree(srcf)
shutil.copytree(dst, srcf)
else:
shutil.copy2(dst, srcf)
except shutil.Error as e:
why = e.args[0][0][2]
self.log.err('importing \"{}\" failed: {}'.format(dst, why))
return True

View File

@@ -101,6 +101,38 @@ cntpost=`find ${tmps}/dotfiles -type f | wc -l`
[ "${cntpost}" != "${cntpre}" ] && echo "import issue" && exit 1
#######################################
# import directory with named pipe
cat > ${cfg} << _EOF
config:
backup: true
create: true
dotpath: dotfiles
dotfiles:
profiles:
_EOF
# create the dotfile
d="${tmpd}/with_named_pipe"
mkdir -p ${d}
echo "file1" > ${d}/file1
echo "fil2" > ${d}/file2
mkfifo ${d}/fifo
# import
cd ${ddpath} | ${bin} import -c ${cfg} -p p2 -V ${d}
cat ${cfg}
tree ${tmps}/dotfiles
# ensure exists and is not link
[ ! -d ${tmps}/dotfiles/${d} ] && echo "not a directory" && exit 1
[ ! -e ${tmps}/dotfiles/${d}/file1 ] && echo "not exist" && exit 1
[ ! -e ${tmps}/dotfiles/${d}/file2 ] && echo "not exist" && exit 1
cat ${cfg} | grep ${d} >/dev/null 2>&1
## CLEANING
rm -rf ${tmps} ${tmpd}

View File

@@ -100,4 +100,4 @@ fi
#fi
## done
echo "All test finished successfully in ${SECONDS}s"
echo "All test finished successfully"