File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2424from ietf .message .models import Message
2525from ietf .name .models import FormalLanguageName , GroupTypeName
2626from ietf .submit .models import Submission , Preapproval
27- from ietf .submit .utils import validate_submission_rev , validate_submission_document_date
27+ from ietf .submit .utils import validate_submission_name , validate_submission_rev , validate_submission_document_date
2828from ietf .submit .parsers .pdf_parser import PDFParser
2929from ietf .submit .parsers .plain_parser import PlainParser
3030from ietf .submit .parsers .ps_parser import PSParser
@@ -173,6 +173,9 @@ def clean(self):
173173 draftname = self .xmlroot .attrib .get ('docName' )
174174 if draftname is None :
175175 raise forms .ValidationError ("No docName attribute found in the xml root element" )
176+ name_error = validate_submission_name (draftname )
177+ if name_error :
178+ raise forms .ValidationError (name_error )
176179 revmatch = re .search ("-[0-9][0-9]$" , draftname )
177180 if revmatch :
178181 self .revision = draftname [- 2 :]
Original file line number Diff line number Diff line change 11# Copyright The IETF Trust 2011-2019, All Rights Reserved
22# -*- coding: utf-8 -*-
33
4- import os
54import datetime
5+ import os
6+ import re
67import six # pyflakes:ignore
78import xml2rfc
89
@@ -78,6 +79,10 @@ def has_been_replaced_by(name):
7879
7980 return None
8081
82+ def validate_submission_name (name ):
83+ if not re .search (r'^draft-[a-z][-a-z0-9]{0,39}$' , name ):
84+ return "Expected name 'draft-...' using lowercase ascii letters, digits, and hyphen; found '%s'." % name
85+
8186def validate_submission_rev (name , rev ):
8287 if not rev :
8388 return 'Revision not found'
You can’t perform that action at this time.
0 commit comments