folio-migration-tools 1.9.9__tar.gz → 1.9.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/PKG-INFO +1 -1
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/pyproject.toml +1 -1
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/order_mapper.py +17 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/ref_data_mapping.py +3 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/migration_task_base.py +8 -4
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/orders_transformer.py +3 -2
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/translations/en.json +3 -1
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/LICENSE +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/README.md +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/__init__.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/__main__.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/circulation_helper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/colors.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/config_file_load.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/custom_dict.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/custom_exceptions.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/extradata_writer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/folder_structure.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/helper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/holdings_helper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/i18n_config.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/library_configuration.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapper_base.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/__init__.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/courses_mapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/holdings_mapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/item_mapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/manual_fee_fines_mapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/mapping_file_mapper_base.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/notes_mapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/organization_mapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/mapping_file_transformation/user_mapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/__init__.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/conditions.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/hrid_handler.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/loc_language_codes.xml +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/marc_file_processor.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/marc_reader_wrapper.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_authorities.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_base.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_bibs.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_report.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/__init__.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/authority_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/batch_poster.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/bibs_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/courses_migrator.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/holdings_csv_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/holdings_marc_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/items_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/loans_migrator.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/manual_fee_fines_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/organization_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/requests_migrator.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/reserves_migrator.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/migration_tasks/user_transformer.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/task_configuration.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/test_infrastructure/__init__.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/test_infrastructure/mocked_classes.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/transaction_migration/__init__.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/transaction_migration/legacy_loan.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/transaction_migration/legacy_request.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/transaction_migration/legacy_reserve.py +0 -0
- {folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/transaction_migration/transaction_result.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "folio_migration_tools"
|
|
3
|
-
version = "1.9.
|
|
3
|
+
version = "1.9.10"
|
|
4
4
|
description = "A tool allowing you to migrate data from legacy ILS:s (Library systems) into FOLIO LSP"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Theodor Tolstoy", email = "github.teddes@tolstoy.se"},
|
|
@@ -78,6 +78,14 @@ class CompositeOrderMapper(MappingFileMapperBase):
|
|
|
78
78
|
"code",
|
|
79
79
|
"OrderLineLocationMapping",
|
|
80
80
|
)
|
|
81
|
+
self.funds_mapping = RefDataMapping(
|
|
82
|
+
self.folio_client,
|
|
83
|
+
"/finance/funds",
|
|
84
|
+
"funds",
|
|
85
|
+
funds_map,
|
|
86
|
+
"code",
|
|
87
|
+
"FundsMapping",
|
|
88
|
+
)
|
|
81
89
|
|
|
82
90
|
self.folio_client: FolioClient = folio_client
|
|
83
91
|
self.notes_mapper: NotesMapper = NotesMapper(
|
|
@@ -115,6 +123,15 @@ class CompositeOrderMapper(MappingFileMapperBase):
|
|
|
115
123
|
False,
|
|
116
124
|
)
|
|
117
125
|
|
|
126
|
+
if folio_prop_name.endswith(".fundId"):
|
|
127
|
+
return self.get_mapped_ref_data_value(
|
|
128
|
+
self.location_mapping,
|
|
129
|
+
legacy_order,
|
|
130
|
+
folio_prop_name,
|
|
131
|
+
index_or_id,
|
|
132
|
+
False,
|
|
133
|
+
)
|
|
134
|
+
|
|
118
135
|
mapped_value = super().get_prop(
|
|
119
136
|
legacy_order, folio_prop_name, index_or_id, schema_default_value
|
|
120
137
|
)
|
|
@@ -43,6 +43,9 @@ class RefDataMapping(object):
|
|
|
43
43
|
return self.cached_dict.get(key_value.lower().strip(), ())
|
|
44
44
|
|
|
45
45
|
def setup_mappings(self):
|
|
46
|
+
if not self.map:
|
|
47
|
+
logging.info("%s legacy map file is empty or not provided", self.name)
|
|
48
|
+
return
|
|
46
49
|
self.pre_validate_map()
|
|
47
50
|
for idx, mapping in enumerate(self.map):
|
|
48
51
|
try:
|
|
@@ -418,10 +418,14 @@ class MigrationTaskBase:
|
|
|
418
418
|
required (bool): Whether the property is required or not
|
|
419
419
|
"""
|
|
420
420
|
if (
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
421
|
+
(
|
|
422
|
+
folio_property_name in folio_keys
|
|
423
|
+
or required
|
|
424
|
+
or folio_property_name.startswith("statisticalCodeIds")
|
|
425
|
+
or folio_property_name.startswith("locationMap")
|
|
426
|
+
or folio_property_name.startswith("fundsMap")
|
|
427
|
+
)
|
|
428
|
+
and map_file_path.is_file()
|
|
425
429
|
):
|
|
426
430
|
try:
|
|
427
431
|
with open(map_file_path) as map_file:
|
|
@@ -216,9 +216,10 @@ class OrdersTransformer(MigrationTaskBase):
|
|
|
216
216
|
),
|
|
217
217
|
self.load_ref_data_mapping_file( # Required if there was is a fund.
|
|
218
218
|
"fundsMap",
|
|
219
|
-
self.folder_structure.mapping_files_folder
|
|
219
|
+
self.folder_structure.mapping_files_folder
|
|
220
|
+
/ self.task_config.funds_map_file_name,
|
|
220
221
|
self.folio_keys,
|
|
221
|
-
|
|
222
|
+
True,
|
|
222
223
|
),
|
|
223
224
|
self.load_ref_data_mapping_file( # Todo: The property in the schema has no type
|
|
224
225
|
"fundsExpenseClassMap",
|
|
@@ -318,6 +318,8 @@
|
|
|
318
318
|
"blurbs.FieldMappingErrors.title": "Field mapping errors",
|
|
319
319
|
"blurbs.FolioDefaultValuesAdded.description": "The below FOLIO default values were added to records that had no mapped value in the source data.",
|
|
320
320
|
"blurbs.FolioDefaultValuesAdded.title": "FOLIO default values added",
|
|
321
|
+
"blurbs.FundsMapping.title": "Fund mappings",
|
|
322
|
+
"blurbs.FundsMapping.description": "Reference data for funds mapping",
|
|
321
323
|
"blurbs.GeneralStatistics.description": "A list of general counters to outline the transformation as a whole.",
|
|
322
324
|
"blurbs.GeneralStatistics.title": "General statistics",
|
|
323
325
|
"blurbs.HoldingsGenerationFromBibs.description": "Some libraries have Holdings/MFHD information baked into their bib records. The following breakdown gives an idea on the occurrence of 852/866 combinations",
|
|
@@ -471,4 +473,4 @@
|
|
|
471
473
|
"naturalId mapped from %{fro}": "naturalId mapped from %{fro}",
|
|
472
474
|
"no matching identifier_types in %{names}": "no matching identifier_types in %{names}",
|
|
473
475
|
"subfield present in %{linked_value_tag} but not in %{pattern_field}": "subfield present in %{linked_value_tag} but not in %{pattern_field}"
|
|
474
|
-
}
|
|
476
|
+
}
|
|
File without changes
|
|
File without changes
|
{folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/__init__.py
RENAMED
|
File without changes
|
{folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
{folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/colors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{folio_migration_tools-1.9.9 → folio_migration_tools-1.9.10}/src/folio_migration_tools/helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|