1
0
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:
Luca Falavigna 2024-02-12 08:36:11 +01:00
parent 4385b50825
commit 5b00de9a43
2 changed files with 5 additions and 7 deletions

View File

@ -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)

View File

@ -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