From: Daira Hopwood Date: Mon, 31 Aug 2015 17:05:33 +0000 (+0100) Subject: More precise and correct error reporting in replace_file. X-Git-Url: https://git.rkrishnan.org/components/com_hotproperty/flags/module-simplejson.tests.html?a=commitdiff_plain;h=a2777681617783048bc7a3583317ce724734dc9f;p=tahoe-lafs%2Ftahoe-lafs.git More precise and correct error reporting in replace_file. Signed-off-by: Daira Hopwood --- diff --git a/src/allmydata/util/fileutil.py b/src/allmydata/util/fileutil.py index a12565f3..ceb6c6eb 100644 --- a/src/allmydata/util/fileutil.py +++ b/src/allmydata/util/fileutil.py @@ -4,7 +4,7 @@ Futz with files like a pro. import sys, exceptions, os, stat, tempfile, time, binascii from collections import namedtuple -from errno import EEXIST, ENOENT +from errno import ENOENT from twisted.python import log @@ -618,12 +618,14 @@ else: if not os.path.exists(replacement_path): raise ConflictError("Replacement file not found: %r" % (replacement_path,)) + + try: + os.rename(replaced_path, backup_path) + except OSError as e: + print e, e.errno + if e.errno != ENOENT: + raise try: - try: - os.rename(replaced_path, backup_path) - except OSError as e: - if e.errno != errno.EEXIST: - raise rename_no_overwrite(replacement_path, replaced_path) except EnvironmentError: reraise(ConflictError)