folio-migration-tools 1.9.0rc4__tar.gz → 1.9.0rc5__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.
Files changed (66) hide show
  1. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/PKG-INFO +1 -1
  2. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/pyproject.toml +1 -1
  3. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/batch_poster.py +10 -6
  4. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/LICENSE +0 -0
  5. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/README.md +0 -0
  6. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/__init__.py +0 -0
  7. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/__main__.py +0 -0
  8. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/circulation_helper.py +0 -0
  9. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/colors.py +0 -0
  10. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/config_file_load.py +0 -0
  11. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/custom_dict.py +0 -0
  12. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/custom_exceptions.py +0 -0
  13. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/extradata_writer.py +0 -0
  14. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/folder_structure.py +0 -0
  15. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/helper.py +0 -0
  16. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/holdings_helper.py +0 -0
  17. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/i18n_config.py +0 -0
  18. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/library_configuration.py +0 -0
  19. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapper_base.py +0 -0
  20. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/__init__.py +0 -0
  21. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/courses_mapper.py +0 -0
  22. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/holdings_mapper.py +0 -0
  23. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/item_mapper.py +0 -0
  24. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/manual_fee_fines_mapper.py +0 -0
  25. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/mapping_file_mapper_base.py +0 -0
  26. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/notes_mapper.py +0 -0
  27. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/order_mapper.py +0 -0
  28. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/organization_mapper.py +0 -0
  29. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/ref_data_mapping.py +0 -0
  30. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/mapping_file_transformation/user_mapper.py +0 -0
  31. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/__init__.py +0 -0
  32. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/conditions.py +0 -0
  33. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py +0 -0
  34. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/hrid_handler.py +0 -0
  35. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/loc_language_codes.xml +0 -0
  36. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/marc_file_processor.py +0 -0
  37. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/marc_reader_wrapper.py +0 -0
  38. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_authorities.py +0 -0
  39. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_base.py +0 -0
  40. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_bibs.py +0 -0
  41. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py +0 -0
  42. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_report.py +0 -0
  43. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/__init__.py +0 -0
  44. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/authority_transformer.py +0 -0
  45. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/bibs_transformer.py +0 -0
  46. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/courses_migrator.py +0 -0
  47. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/holdings_csv_transformer.py +0 -0
  48. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/holdings_marc_transformer.py +0 -0
  49. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/items_transformer.py +0 -0
  50. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/loans_migrator.py +0 -0
  51. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/manual_fee_fines_transformer.py +0 -0
  52. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/migration_task_base.py +0 -0
  53. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/orders_transformer.py +0 -0
  54. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/organization_transformer.py +0 -0
  55. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/requests_migrator.py +0 -0
  56. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/reserves_migrator.py +0 -0
  57. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/migration_tasks/user_transformer.py +0 -0
  58. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/task_configuration.py +0 -0
  59. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/test_infrastructure/__init__.py +0 -0
  60. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/test_infrastructure/mocked_classes.py +0 -0
  61. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/transaction_migration/__init__.py +0 -0
  62. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/transaction_migration/legacy_loan.py +0 -0
  63. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/transaction_migration/legacy_request.py +0 -0
  64. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/transaction_migration/legacy_reserve.py +0 -0
  65. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/transaction_migration/transaction_result.py +0 -0
  66. {folio_migration_tools-1.9.0rc4 → folio_migration_tools-1.9.0rc5}/src/folio_migration_tools/translations/en.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: folio_migration_tools
3
- Version: 1.9.0rc4
3
+ Version: 1.9.0rc5
4
4
  Summary: A tool allowing you to migrate data from legacy ILS:s (Library systems) into FOLIO LSP
5
5
  License: MIT
6
6
  Keywords: FOLIO,ILS,LSP,Library Systems,MARC21,Library data
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "folio_migration_tools"
3
- version = "1.9.0rc4"
3
+ version = "1.9.0rc5"
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"},
@@ -260,11 +260,15 @@ class BatchPoster(MigrationTaskBase):
260
260
  """
261
261
  Synchronous wrapper for set_version_async
262
262
  """
263
- loop = asyncio.get_event_loop()
264
- if loop.is_running():
263
+ try:
264
+ loop = asyncio.get_running_loop()
265
+ except RuntimeError:
266
+ loop = asyncio.new_event_loop()
267
+ asyncio.set_event_loop(loop)
265
268
  loop.run_until_complete(self.set_version_async(batch, query_api, object_type))
269
+ asyncio.set_event_loop(None) # Reset the event loop
266
270
  else:
267
- asyncio.run(self.set_version_async(batch, query_api, object_type))
271
+ loop.run_until_complete(self.set_version_async(batch, query_api, object_type))
268
272
 
269
273
  async def set_version_async(self, batch, query_api, object_type) -> None:
270
274
  """
@@ -298,7 +302,7 @@ class BatchPoster(MigrationTaskBase):
298
302
 
299
303
  for response in responses:
300
304
  if response.status_code == 200:
301
- response_json = await response.json()
305
+ response_json = response.json()
302
306
  for record in response_json[object_type]:
303
307
  updates[record["id"]] = {
304
308
  "_version": record["_version"],
@@ -325,8 +329,6 @@ class BatchPoster(MigrationTaskBase):
325
329
  logging.info(json.dumps(json_rec, indent=True))
326
330
  batch.append(json_rec)
327
331
  if len(batch) == int(self.batch_size):
328
- if self.query_params.get("upsert", False) and self.api_info.get("query_endpoint", ""):
329
- self.set_version(batch, self.api_info['query_endpoint'], self.api_info['object_name'])
330
332
  self.post_batch(batch, failed_recs_file, self.processed)
331
333
  batch = []
332
334
  return batch
@@ -451,6 +453,8 @@ class BatchPoster(MigrationTaskBase):
451
453
  logging.info("=======================", flush=True)
452
454
 
453
455
  def post_batch(self, batch, failed_recs_file, num_records, recursion_depth=0):
456
+ if self.query_params.get("upsert", False) and self.api_info.get("query_endpoint", ""):
457
+ self.set_version(batch, self.api_info['query_endpoint'], self.api_info['object_name'])
454
458
  response = self.do_post(batch)
455
459
  if response.status_code == 401:
456
460
  logging.error("Authorization failed (%s). Fetching new auth token...", response.text)