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