mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-05-07 17:29:50 +00:00
Use errno.EISDIR instead of hardcoding values
This commit is contained in:
parent
4385b50825
commit
5b00de9a43
@ -10,6 +10,7 @@ import logging
|
|||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import os.path as op
|
import os.path as op
|
||||||
|
from errno import EISDIR
|
||||||
from xml.etree import ElementTree as ET
|
from xml.etree import ElementTree as ET
|
||||||
|
|
||||||
from hscommon.jobprogress.job import nulljob
|
from hscommon.jobprogress.job import nulljob
|
||||||
@ -375,9 +376,8 @@ class Results(Markable):
|
|||||||
try:
|
try:
|
||||||
do_write(outfile)
|
do_write(outfile)
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
# If our OSError is because dest is already a directory, we want to handle that. 21 is
|
# If our OSError is because dest is already a directory, we want to handle that.
|
||||||
# the code we get on OS X and Linux, 13 is what we get on Windows.
|
if e.errno == EISDIR:
|
||||||
if e.errno in {21, 13}:
|
|
||||||
p = str(outfile)
|
p = str(outfile)
|
||||||
dirname, basename = op.split(p)
|
dirname, basename = op.split(p)
|
||||||
otherfiles = os.listdir(dirname)
|
otherfiles = os.listdir(dirname)
|
||||||
|
@ -14,6 +14,7 @@ import re
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
|
from errno import EISDIR
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Callable, List
|
from typing import Callable, List
|
||||||
|
|
||||||
@ -75,10 +76,7 @@ def smart_copy(source_path: Path, dest_path: Path) -> None:
|
|||||||
try:
|
try:
|
||||||
_smart_move_or_copy(shutil.copy, source_path, dest_path)
|
_smart_move_or_copy(shutil.copy, source_path, dest_path)
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
if e.errno in {
|
if e.errno == EISDIR: # it's a directory
|
||||||
21,
|
|
||||||
13,
|
|
||||||
}: # it's a directory, code is 21 on OS X / Linux and 13 on Windows
|
|
||||||
_smart_move_or_copy(shutil.copytree, source_path, dest_path)
|
_smart_move_or_copy(shutil.copytree, source_path, dest_path)
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
Loading…
x
Reference in New Issue
Block a user