diff --git a/copyparty/up2k.py b/copyparty/up2k.py index d1a9abdd..d5a2e4ba 100644 --- a/copyparty/up2k.py +++ b/copyparty/up2k.py @@ -2075,7 +2075,8 @@ class Up2k(object): try: bos.utime(path, times, False) except: - self.log("lmod: failed to utime ({}, {})".format(path, times)) + m = "lmod: failed to utime ({}, {}):\n{}" + self.log(m.format(path, times, min_ex())) if self.args.sparse and self.args.sparse * 1024 * 1024 <= sz: try: diff --git a/copyparty/util.py b/copyparty/util.py index 9cba506a..b56f9a1b 100644 --- a/copyparty/util.py +++ b/copyparty/util.py @@ -67,7 +67,7 @@ if WINDOWS and PY2: FS_ENCODING = "utf-8" -SYMTIME = sys.version_info >= (3, 6) and os.supports_follow_symlinks +SYMTIME = sys.version_info >= (3, 6) and os.utime in os.supports_follow_symlinks HTTP_TS_FMT = "%a, %d %b %Y %H:%M:%S GMT" @@ -1235,7 +1235,7 @@ def statdir(logger, scandir, lstat, top): if lstat and ANYWIN: lstat = False - if lstat and not os.supports_follow_symlinks: + if lstat and (PY2 or os.stat not in os.supports_follow_symlinks): scandir = False try: