mirror of
https://github.com/deadc0de6/dotdrop.git
synced 2026-02-04 15:39:43 +00:00
check shutil error for #294
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user