Skip to content

Commit

Permalink
Fixing argument ordering issue and instances_id map error.
Browse files Browse the repository at this point in the history
  • Loading branch information
bltravis committed Dec 17, 2024
1 parent 1ef3345 commit 290efa5
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 5 deletions.
11 changes: 9 additions & 2 deletions src/folio_migration_tools/mapper_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
RefDataMapping,
)
from folio_migration_tools.migration_report import MigrationReport
from folio_migration_tools.task_configuration import AbstractTaskConfiguration


class MapperBase:
Expand All @@ -42,7 +43,7 @@ def __init__(
self.start_datetime = datetime.now(timezone.utc)
self.folio_client: FolioClient = folio_client
self.library_configuration: LibraryConfiguration = library_configuration

self.task_configuration: AbstractTaskConfiguration = None
self.mapped_folio_fields: dict = {}
self.migration_report: MigrationReport = MigrationReport()
self.num_criticalerrors = 0
Expand Down Expand Up @@ -267,7 +268,13 @@ def handle_transformation_record_failed_error(
sys.exit(1)

def get_id_map_tuple(self, legacy_id: str, folio_record: dict, object_type: FOLIONamespaces):
if object_type == FOLIONamespaces.instances:
if all(
[
object_type == FOLIONamespaces.instances,
(not getattr(self.task_configuration, "data_import_marc", False)),
getattr(self.task_configuration, "create_source_records", True),
]
):
return (legacy_id, folio_record["id"], folio_record["hrid"])
return (legacy_id, folio_record["id"])

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ def parse_record(
bad_tags = set(self.task_configuration.tags_to_delete) # "907"
folio_instance = self.perform_initial_preparation(marc_record, legacy_ids)
if self.data_import_marc:
self.simple_bib_map(marc_record, folio_instance, ignored_subsequent_fields, legacy_ids)
self.simple_bib_map(folio_instance, marc_record, ignored_subsequent_fields, legacy_ids)
else:
for marc_field in marc_record:
self.report_marc_stats(marc_field, bad_tags, legacy_ids, ignored_subsequent_fields)
Expand Down Expand Up @@ -152,7 +152,13 @@ def simple_bib_map(self, folio_instnace: dict, marc_record: Record, ignored_subs
legacy_ids (List[str]): _description_
file_def (FileDefinition): _description_
"""
self.process_marc_field(folio_instnace, marc_record['245'], ignored_subsequent_fields, legacy_ids)
try:
self.process_marc_field(folio_instnace, marc_record['245'], ignored_subsequent_fields, legacy_ids)
except KeyError:
raise TransformationRecordFailedError(
legacy_ids,
"No 245 field in MARC record"
)

def perform_additional_parsing(
self,
Expand Down
2 changes: 1 addition & 1 deletion tests/test_rules_mapper_bibs.py
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ def test_simple_bib_map(mapper):
indicators=["0", "0"],
subfields=[
pymarc.Subfield("a", "Modern Electrosynthetic Methods in Organic Chemistry /"),
pymarc.Subfield("b", "Steen Hyldgaard Christensen, Christelle Didier, Andrew Jamison, Martin Meganck, Carl Mitcham, Byron Newberry, editors."),
pymarc.Subfield("c", "Steen Hyldgaard Christensen, Christelle Didier, Andrew Jamison, Martin Meganck, Carl Mitcham, Byron Newberry, editors."),
],
)
)
Expand Down

0 comments on commit 290efa5

Please sign in to comment.