From 6bc68a9a51e87a783d20109efc9cbf8032c964b9 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 28 Jun 2012 19:22:59 +0000 Subject: [PATCH] Behave slightly more gracefully if a submission has already been moved into place, and we're asked to do it again. - Legacy-Id: 4548 --- ietf/submit/utils.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index f57f13a90..f2237f3c7 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -11,6 +11,7 @@ from ietf.idtracker.models import (InternetDraft, PersonOrOrgInfo, IETFWG, IDAuthor, EmailAddress, IESGLogin, BallotInfo) from ietf.submit.models import TempIdAuthors, IdSubmissionDetail, Preapproval from ietf.utils.mail import send_mail, send_mail_message +from ietf.utils.log import log from ietf.utils import unaccent from ietf.ietfauth.decorators import has_role @@ -449,8 +450,13 @@ def move_docs(submission): for ext in submission.file_type.split(','): source = os.path.join(settings.IDSUBMIT_STAGING_PATH, '%s-%s%s' % (submission.filename, submission.revision, ext)) dest = os.path.join(settings.IDSUBMIT_REPOSITORY_PATH, '%s-%s%s' % (submission.filename, submission.revision, ext)) - os.rename(source, dest) - + if os.path.exists(source): + os.rename(source, dest) + else: + if os.path.exists(dest): + log("Intended to move '%s' to '%s', but found source missing while destination exists.", send_mail=True) + else: + raise ValueError("Intended to move '%s' to '%s', but found source and destination missing.") def remove_docs(submission): for ext in submission.file_type.split(','):