Skip to content

Commit 4e18a41

Browse files
fix: corrige suppl no nome do pacote sps e permite sufixo adicional (#1059)
* fix: corrige suppl no nome do pacote sps e permite sufixo adicional - Create dedicated sps_pkg_name_suppl property to encapsulate supplement formatting logic - Move supplement value transformation from sps_pkg_name to isolated method - Handle special case where suppl=0 becomes 'suppl' string - Format other supplement values with 's' prefix (e.g., 's1', 's2') - Improve code organization and readability in package name generation - Implement additional_sps_pkg_name_suffix as property with getter and setter - Store value in private attribute _additional_sps_pkg_name_suffix - Include additional suffix in sps_pkg_name composition - Enable dynamic modification of package name suffix after instantiation * fix: corrige referência indefinida de variável suppl em XMLWithPre - Corrige bug onde self.suppl estava sendo usado em vez da variável local suppl - Adiciona atributo _additional_sps_pkg_name_suffix ao __init__ da classe XMLWithPre - O erro ocorria no método que determina o sufixo do nome do pacote suplementar
1 parent 5dad025 commit 4e18a41

1 file changed

Lines changed: 23 additions & 8 deletions

File tree

packtools/sps/pid_provider/xml_sps_lib.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,7 @@ def __init__(self, xmlpre, xmltree, pretty_print=True):
424424
self.relative_system_id = None
425425
self._sps_version = None
426426
self.errors = None
427+
self._additional_sps_pkg_name_suffix = None
427428

428429
@property
429430
def data(self):
@@ -540,27 +541,41 @@ def sps_pkg_name_suffix(self):
540541
@cached_property
541542
def alternative_sps_pkg_name_suffix(self):
542543
return self.order or self.filename
544+
545+
@property
546+
def additional_sps_pkg_name_suffix(self):
547+
return self._additional_sps_pkg_name_suffix
548+
549+
@additional_sps_pkg_name_suffix.setter
550+
def additional_sps_pkg_name_suffix(self, value):
551+
self._additional_sps_pkg_name_suffix = value
543552

544553
@cached_property
545554
def sps_pkg_name(self):
546555
"""Cache do nome do pacote SPS que é usado frequentemente"""
547-
try:
548-
suppl = self.suppl
549-
if suppl and int(suppl) == 0:
550-
suppl = "suppl"
551-
except (TypeError, ValueError):
552-
pass
553-
554556
xml_acron = Acronym(self.xmltree)
555557
parts = [
556558
self.journal_issn_electronic or self.journal_issn_print,
557559
xml_acron.text,
558560
self.volume,
559561
self.number and self.number.zfill(2),
560-
suppl,
562+
self.sps_pkg_name_suppl,
561563
self.sps_pkg_name_suffix or self.alternative_sps_pkg_name_suffix,
564+
self.additional_sps_pkg_name_suffix,
562565
]
563566
return "-".join([part for part in parts if part])
567+
568+
@property
569+
def sps_pkg_name_suppl(self):
570+
suppl = self.suppl
571+
if not suppl:
572+
return None
573+
try:
574+
if int(suppl) == 0:
575+
return "suppl"
576+
except (TypeError, ValueError):
577+
pass
578+
return f"s{suppl}"
564579

565580
@cached_property
566581
def article_id_parent(self):

0 commit comments

Comments
 (0)