diff --git a/scipost/services.py b/scipost/services.py index 3df2ce70fb903edf7ea290f81830ce69094d566c..b0f93d62f9fac06284275d5aeea5e8b90b1d961e 100644 --- a/scipost/services.py +++ b/scipost/services.py @@ -76,6 +76,7 @@ class ArxivCaller: url = self.query_base_url % self.identifier request = requests.get(url) response_content = feedparser.parse(request.content) + arxiv_data = response_content['entries'][0] if self._search_result_present(arxiv_data): self.is_valid = True @@ -104,4 +105,6 @@ class ArxivCaller: } def _search_result_present(self, data): - return 'title' in data + if len(data.get('entries', [])) > 0: + return 'title' in data['entries'][0] + return False diff --git a/submissions/forms.py b/submissions/forms.py index 48d8037d42fc9e01889bc2dcb0bf046d5bd133ee..c13adbe6e338f45fe1a42840c05e0d26ca5ec337 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -187,7 +187,7 @@ class SubmissionChecks: class SubmissionIdentifierForm(SubmissionChecks, forms.Form): - IDENTIFIER_PATTERN_NEW = r'^[0-9]{4,}.[0-9]{4,5}v[0-9]{1,2}$' + IDENTIFIER_PATTERN_NEW = r'^[0-9]{4,}\.[0-9]{4,5}v[0-9]{1,2}$' IDENTIFIER_PLACEHOLDER = 'new style (with version nr) ####.####(#)v#(#)' identifier = forms.RegexField(regex=IDENTIFIER_PATTERN_NEW, strip=True,