From f6a1fcdaf847e3107b38851335c1d84388f5c8c2 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Mon, 13 Feb 2017 20:37:47 +0000 Subject: [PATCH] Added more information about submission errors and a full idnits run to the manual post email sent to the secretariat. - Legacy-Id: 12831 --- ietf/submit/checkers.py | 8 +++++++- ietf/submit/mail.py | 7 +++++++ ietf/templates/submit/manual_post_request.txt | 19 +++++++++++++++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/ietf/submit/checkers.py b/ietf/submit/checkers.py index faf4b74f2..d1a1ae495 100644 --- a/ietf/submit/checkers.py +++ b/ietf/submit/checkers.py @@ -49,6 +49,12 @@ class DraftIdnitsChecker(object): # symbol = '' symbol = "" + def __init__(self, options=["--submitcheck", "--nitcount", ]): + assert isinstance(options, list) + if not "--nitcount" in options: + options.append("--nitcount") + self.options = ' '.join(options) + def check_file_txt(self, path): """ Run an idnits check, and return a passed/failed indication, a message, @@ -66,7 +72,7 @@ class DraftIdnitsChecker(object): warnstart = [' == ', ' -- '] - cmd = "%s --submitcheck --nitcount %s" % (settings.IDSUBMIT_IDNITS_BINARY, path) + cmd = "%s %s %s" % (settings.IDSUBMIT_IDNITS_BINARY, self.options, path) code, out, err = pipe(cmd) if code != 0 or out == "": message = "idnits error: %s:\n Error %s: %s" %( cmd, code, err) diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py index 2520ffe19..76bece2df 100644 --- a/ietf/submit/mail.py +++ b/ietf/submit/mail.py @@ -11,6 +11,8 @@ from django.core.validators import ValidationError from django.contrib.sites.models import Site from django.template.loader import render_to_string +import debug # pyflakes:ignore + from ietf.utils.log import log from ietf.utils.mail import send_mail, send_mail_message from ietf.doc.models import Document @@ -20,6 +22,7 @@ from ietf.message.models import Message, MessageAttachment from ietf.utils.accesstoken import generate_access_token from ietf.mailtrigger.utils import gather_address_lists, get_base_submission_message_address from ietf.submit.models import SubmissionEmailEvent, Submission +from ietf.submit.checkers import DraftIdnitsChecker def send_submission_confirmation(request, submission, chair_notice=False): subject = 'Confirm submission of I-D %s' % submission.name @@ -80,10 +83,14 @@ def send_manual_post_request(request, submission, errors): subject = u'Manual Post Requested for %s' % submission.name from_email = settings.IDSUBMIT_FROM_EMAIL (to_email,cc) = gather_address_lists('sub_manual_post_requested',submission=submission) + checker = DraftIdnitsChecker(options=[]) # don't use the default --submitcheck limitation + file_name = os.path.join(settings.IDSUBMIT_STAGING_PATH, '%s-%s.txt' % (submission.name, submission.rev)) + nitspass, nitsmsg, nitserr, nitswarn, nitsresult = checker.check_file_txt(file_name) send_mail(request, to_email, from_email, subject, 'submit/manual_post_request.txt', { 'submission': submission, 'url': settings.IDTRACKER_BASE_URL + urlreverse('ietf.submit.views.submission_status', kwargs=dict(submission_id=submission.pk)), 'errors': errors, + 'idnits': nitsmsg, }, cc=cc) diff --git a/ietf/templates/submit/manual_post_request.txt b/ietf/templates/submit/manual_post_request.txt index 1620a476f..b4e595ab2 100644 --- a/ietf/templates/submit/manual_post_request.txt +++ b/ietf/templates/submit/manual_post_request.txt @@ -1,7 +1,15 @@ {% autoescape off %} Hi, -Manual posting has been requested for the following Internet-Draft: +Manual posting has been requested for the following Internet-Draft. + +{% if errors %}The problems found during automated submission were: {% for err in errors.values %} + - {{ err }}{% endfor %} + +If the authors claim that this is incorrect, then please look at the actual +draft and verify that it does not have the problems indicated. +{% endif %} +Full idnits results are available at the end of this message. I-D Submission Tool URL: {{ url }} @@ -18,7 +26,8 @@ I-D Submission Tool URL: Submitter : {{ submission.submitter }} - Abstract : {{ submission.abstract }} + Abstract : +{{ submission.abstract }} Authors: @@ -28,4 +37,10 @@ I-D Submission Tool URL: Comment to the secretariat: {{ submission.note }} + + + Idnits result: + +{{ idnits }} + {% endautoescape %}