Skip to content

Commit 6bf4fec

Browse files
Fix null safety bugs in issue and journal articlemeta export formatters (#1415)
* Initial plan * Fix null safety bugs in issue and journal articlemeta formatters - issue/_format_collection_info: add null check for scielo_journal - issue/_format_issn_info: add null check for journal.official - journal/_format_title_journal_info: add null check for self.official before accessing old_title and new_title - journal/_format_issn_info: fix inconsistent self.obj.official to self.official for issn_electronic access Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
1 parent 68dc536 commit 6bf4fec

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

issue/formats/articlemeta_format.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ def _format_publication_info(self):
147147

148148
def _format_collection_info(self):
149149
"""Informações de coleção"""
150+
if not self.scielo_journal:
151+
return
150152
collection = self.scielo_journal.collection
151153
if collection:
152154
add_to_result("v992", collection.acron3, self.result["issue"])
@@ -313,7 +315,7 @@ def _format_article_info(self):
313315

314316
def _format_issn_info(self):
315317
"""Informações de edição"""
316-
if self.scielo_journal:
318+
if self.scielo_journal and self.scielo_journal.journal and self.scielo_journal.journal.official:
317319
issn_print = self.scielo_journal.journal.official.issn_print
318320
issn_electronic = self.scielo_journal.journal.official.issn_electronic
319321
issn_scielo = self.scielo_journal.issn_scielo

journal/formats/articlemeta_format.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,10 @@ def _format_title_journal_info(self):
115115
add_items("v230", [pt.text for pt in parallel_titles if pt.text], self.result)
116116

117117
add_items("v240", [other_title.title for other_title in self.obj.other_titles.all()], self.result)
118-
add_items("v610", [old_title.title for old_title in self.official.old_title.all()], self.result)
119-
if title := getattr(self.official.new_title, 'title', None):
120-
add_to_result("v710", title, self.result)
118+
if self.official:
119+
add_items("v610", [old_title.title for old_title in self.official.old_title.all()], self.result)
120+
if title := getattr(self.official.new_title, 'title', None):
121+
add_to_result("v710", title, self.result)
121122

122123
def _format_collection_info(self):
123124
if self.scielo_journal and self.scielo_journal.collection:
@@ -245,7 +246,7 @@ def _format_issn_info(self):
245246
"""Informações de ISSN"""
246247
if self.official:
247248
issn_print = self.official.issn_print
248-
issn_electronic = self.obj.official.issn_electronic
249+
issn_electronic = self.official.issn_electronic
249250
add_to_result("v935", issn_electronic, self.result)
250251
self._format_issn_list(issn_print, issn_electronic)
251252
self._format_issn_with_type(issn_print, issn_electronic)

0 commit comments

Comments
 (0)