folio-migration-tools 1.9.10__py3-none-any.whl → 1.10.0b1__py3-none-any.whl

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 (52) hide show
  1. folio_migration_tools/__init__.py +3 -4
  2. folio_migration_tools/__main__.py +44 -31
  3. folio_migration_tools/circulation_helper.py +114 -105
  4. folio_migration_tools/custom_dict.py +2 -2
  5. folio_migration_tools/custom_exceptions.py +4 -5
  6. folio_migration_tools/folder_structure.py +1 -1
  7. folio_migration_tools/helper.py +1 -1
  8. folio_migration_tools/library_configuration.py +65 -37
  9. folio_migration_tools/mapper_base.py +38 -25
  10. folio_migration_tools/mapping_file_transformation/courses_mapper.py +1 -1
  11. folio_migration_tools/mapping_file_transformation/holdings_mapper.py +7 -3
  12. folio_migration_tools/mapping_file_transformation/item_mapper.py +13 -26
  13. folio_migration_tools/mapping_file_transformation/manual_fee_fines_mapper.py +1 -2
  14. folio_migration_tools/mapping_file_transformation/mapping_file_mapper_base.py +13 -11
  15. folio_migration_tools/mapping_file_transformation/order_mapper.py +6 -5
  16. folio_migration_tools/mapping_file_transformation/organization_mapper.py +3 -3
  17. folio_migration_tools/mapping_file_transformation/user_mapper.py +43 -28
  18. folio_migration_tools/marc_rules_transformation/conditions.py +84 -70
  19. folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py +13 -5
  20. folio_migration_tools/marc_rules_transformation/hrid_handler.py +3 -2
  21. folio_migration_tools/marc_rules_transformation/marc_file_processor.py +14 -22
  22. folio_migration_tools/marc_rules_transformation/rules_mapper_authorities.py +1 -0
  23. folio_migration_tools/marc_rules_transformation/rules_mapper_base.py +46 -36
  24. folio_migration_tools/marc_rules_transformation/rules_mapper_bibs.py +25 -15
  25. folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py +62 -32
  26. folio_migration_tools/migration_report.py +1 -1
  27. folio_migration_tools/migration_tasks/authority_transformer.py +1 -2
  28. folio_migration_tools/migration_tasks/batch_poster.py +78 -68
  29. folio_migration_tools/migration_tasks/bibs_transformer.py +12 -7
  30. folio_migration_tools/migration_tasks/courses_migrator.py +2 -3
  31. folio_migration_tools/migration_tasks/holdings_csv_transformer.py +14 -15
  32. folio_migration_tools/migration_tasks/holdings_marc_transformer.py +11 -21
  33. folio_migration_tools/migration_tasks/items_transformer.py +17 -30
  34. folio_migration_tools/migration_tasks/loans_migrator.py +53 -131
  35. folio_migration_tools/migration_tasks/migration_task_base.py +33 -55
  36. folio_migration_tools/migration_tasks/orders_transformer.py +21 -39
  37. folio_migration_tools/migration_tasks/organization_transformer.py +9 -18
  38. folio_migration_tools/migration_tasks/requests_migrator.py +11 -15
  39. folio_migration_tools/migration_tasks/reserves_migrator.py +1 -1
  40. folio_migration_tools/migration_tasks/user_transformer.py +10 -15
  41. folio_migration_tools/task_configuration.py +6 -7
  42. folio_migration_tools/transaction_migration/legacy_loan.py +15 -27
  43. folio_migration_tools/transaction_migration/legacy_request.py +1 -1
  44. {folio_migration_tools-1.9.10.dist-info → folio_migration_tools-1.10.0b1.dist-info}/METADATA +18 -28
  45. {folio_migration_tools-1.9.10.dist-info → folio_migration_tools-1.10.0b1.dist-info}/RECORD +47 -50
  46. folio_migration_tools-1.10.0b1.dist-info/WHEEL +4 -0
  47. folio_migration_tools-1.10.0b1.dist-info/entry_points.txt +3 -0
  48. folio_migration_tools/test_infrastructure/__init__.py +0 -0
  49. folio_migration_tools/test_infrastructure/mocked_classes.py +0 -406
  50. folio_migration_tools-1.9.10.dist-info/WHEEL +0 -4
  51. folio_migration_tools-1.9.10.dist-info/entry_points.txt +0 -3
  52. folio_migration_tools-1.9.10.dist-info/licenses/LICENSE +0 -21
@@ -67,10 +67,11 @@ class LegacyLoan(object):
67
67
  self.row,
68
68
  f"Provided due_date is not UTC in {row=}, "
69
69
  f"setting tz-info to tenant timezone ({self.tenant_timezone})",
70
- json.dumps(self.legacy_loan_dict)
70
+ json.dumps(self.legacy_loan_dict),
71
71
  )
72
72
  self.report(
73
- f"Provided due_date is not UTC, setting tz-info to tenant timezone ({self.tenant_timezone})"
73
+ "Provided due_date is not UTC, setting tz-info to tenant "
74
+ f"timezone ({self.tenant_timezone})"
74
75
  )
75
76
  if temp_date_due.hour == 0 and temp_date_due.minute == 0:
76
77
  temp_date_due = temp_date_due.replace(hour=23, minute=59)
@@ -78,16 +79,12 @@ class LegacyLoan(object):
78
79
  self.row,
79
80
  f"Hour and minute not specified for due date in {row=}. "
80
81
  "Assuming end of local calendar day (23:59)...",
81
- json.dumps(self.legacy_loan_dict)
82
- )
83
- self.report(
84
- "Hour and minute not specified for due date"
82
+ json.dumps(self.legacy_loan_dict),
85
83
  )
84
+ self.report("Hour and minute not specified for due date")
86
85
  except (ParserError, OverflowError) as ee:
87
86
  logging.error(ee)
88
- self.errors.append(
89
- (f"Parse date failure in {row=}. Setting UTC NOW", "due_date")
90
- )
87
+ self.errors.append((f"Parse date failure in {row=}. Setting UTC NOW", "due_date"))
91
88
  temp_date_due = datetime.now(ZoneInfo("UTC"))
92
89
  try:
93
90
  temp_date_out: datetime = parse(self.legacy_loan_dict["out_date"])
@@ -97,33 +94,28 @@ class LegacyLoan(object):
97
94
  self.row,
98
95
  f"Provided out_date is not UTC in {row=}, "
99
96
  f"setting tz-info to tenant timezone ({self.tenant_timezone})",
100
- json.dumps(self.legacy_loan_dict)
97
+ json.dumps(self.legacy_loan_dict),
101
98
  )
102
99
  self.report(
103
- f"Provided out_date is not UTC, setting tz-info to tenant timezone ({self.tenant_timezone})"
100
+ "Provided out_date is not UTC, setting tz-info to tenant "
101
+ f"timezone ({self.tenant_timezone})"
104
102
  )
105
103
  except (ParserError, OverflowError):
106
104
  temp_date_out = datetime.now(
107
105
  ZoneInfo("UTC")
108
106
  ) # TODO: Consider moving this assignment block above the temp_date_due
109
- self.errors.append(
110
- (f"Parse date failure in {row=}. Setting UTC NOW", "out_date")
111
- )
107
+ self.errors.append((f"Parse date failure in {row=}. Setting UTC NOW", "out_date"))
112
108
 
113
109
  # good to go, set properties
114
110
  self.item_barcode: str = self.legacy_loan_dict["item_barcode"].strip()
115
111
  self.patron_barcode: str = self.legacy_loan_dict["patron_barcode"].strip()
116
- self.proxy_patron_barcode: str = self.legacy_loan_dict.get(
117
- "proxy_patron_barcode", ""
118
- )
112
+ self.proxy_patron_barcode: str = self.legacy_loan_dict.get("proxy_patron_barcode", "")
119
113
  self.due_date: datetime = temp_date_due
120
114
  self.out_date: datetime = temp_date_out
121
115
  self.correct_for_1_day_loans()
122
116
  self.make_utc()
123
117
  self.renewal_count = self.set_renewal_count(self.legacy_loan_dict)
124
- self.next_item_status = self.legacy_loan_dict.get(
125
- "next_item_status", ""
126
- ).strip()
118
+ self.next_item_status = self.legacy_loan_dict.get("next_item_status", "").strip()
127
119
  if self.next_item_status not in legal_statuses:
128
120
  self.errors.append((f"Not an allowed status {row=}", self.next_item_status))
129
121
  self.service_point_id = (
@@ -141,13 +133,11 @@ class LegacyLoan(object):
141
133
  Helper.log_data_issue(
142
134
  self.row,
143
135
  i18n.t("Unresolvable %{renewal_count=} was replaced with 0."),
144
- json.dumps(loan)
136
+ json.dumps(loan),
145
137
  )
146
138
  else:
147
139
  Helper.log_data_issue(
148
- self.row,
149
- i18n.t("Missing renewal count was replaced with 0."),
150
- json.dumps(loan)
140
+ self.row, i18n.t("Missing renewal count was replaced with 0."), json.dumps(loan)
151
141
  )
152
142
  return 0
153
143
 
@@ -160,9 +150,7 @@ class LegacyLoan(object):
160
150
  if self.due_date <= self.out_date:
161
151
  raise TransformationRecordFailedError(
162
152
  self.row,
163
- i18n.t(
164
- "Due date is before out date, or date information is missing from both"
165
- ),
153
+ i18n.t("Due date is before out date, or date information is missing from both"),
166
154
  json.dumps(self.legacy_loan_dict, indent=2),
167
155
  )
168
156
 
@@ -122,7 +122,7 @@ class LegacyRequest(object):
122
122
  missing = [r for r in required if not req.get(r, "")]
123
123
  if any(missing):
124
124
  raise TransformationRecordFailedError(
125
- "", "Required properties missing:" ", ".join(missing)
125
+ "", "Required properties missing:, ".join(missing)
126
126
  )
127
127
  return req
128
128
 
@@ -1,33 +1,24 @@
1
1
  Metadata-Version: 2.4
2
- Name: folio_migration_tools
3
- Version: 1.9.10
2
+ Name: folio-migration-tools
3
+ Version: 1.10.0b1
4
4
  Summary: A tool allowing you to migrate data from legacy ILS:s (Library systems) into FOLIO LSP
5
- License-Expression: MIT
6
- License-File: LICENSE
7
5
  Keywords: FOLIO,ILS,LSP,Library Systems,MARC21,Library data
8
- Author: Theodor Tolstoy
9
- Author-email: github.teddes@tolstoy.se
10
- Requires-Python: >=3.10,<4.0
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Programming Language :: Python :: 3.13
16
- Classifier: Programming Language :: Python :: 3.14
17
- Provides-Extra: docs
18
- Requires-Dist: argparse-prompt (>=0.0.5,<0.0.6)
19
- Requires-Dist: art (>=6.5,<7.0)
20
- Requires-Dist: deepdiff (>=6.2.3,<7.0.0)
21
- Requires-Dist: defusedxml (>=0.7.1,<0.8.0)
22
- Requires-Dist: folio-data-import (>=0.4.1)
23
- Requires-Dist: folio-uuid (>=1.0.0,<2.0.0)
24
- Requires-Dist: folioclient (>=0.70.1,<0.71.0)
25
- Requires-Dist: pyaml (>=21.10.1,<22.0.0)
26
- Requires-Dist: pydantic (>=1.10.2,<2.0.0)
27
- Requires-Dist: pyhumps (>=3.7.3,<4.0.0)
28
- Requires-Dist: pymarc (>=5.2.3,<6.0.0)
29
- Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
30
- Requires-Dist: python-i18n (>=0.3.9,<0.4.0)
6
+ Author: Theodor Tolstoy, Lisa Sjögren, Brooks Travis, Jeremy Nelson, Clinton Bradford
7
+ Author-email: Theodor Tolstoy <github.teddes@tolstoy.se>, Brooks Travis <brooks.travis@gmail.com>
8
+ License-Expression: MIT
9
+ Requires-Dist: folioclient>=1.0.1
10
+ Requires-Dist: pyhumps>=3.7.3,<4.0.0
11
+ Requires-Dist: defusedxml>=0.7.1,<1.0.0
12
+ Requires-Dist: python-dateutil>=2.8.2,<3.0.0
13
+ Requires-Dist: folio-uuid>=1.0.0,<2.0.0
14
+ Requires-Dist: pymarc>=5.2.3,<6.0.0
15
+ Requires-Dist: pydantic>=2.12.3,<3.0.0
16
+ Requires-Dist: argparse-prompt>=0.0.5,<1.0.0
17
+ Requires-Dist: deepdiff>=6.2.3,<7.0.0
18
+ Requires-Dist: pyaml>=21.10.1,<22.0.0
19
+ Requires-Dist: python-i18n>=0.3.9,<1.0.0
20
+ Requires-Dist: art>=6.5,<7.0
21
+ Requires-Python: >=3.10, <4.0
31
22
  Project-URL: Documentation, https://folio-migration-tools.readthedocs.io/en/latest/
32
23
  Project-URL: Homepage, https://github.com/folio-fse/folio_migration_tools
33
24
  Project-URL: Repository, https://github.com/FOLIO-FSE/folio_migration_tools
@@ -166,4 +157,3 @@ Translate all new strings, which begin with `TRANSLATE`, then commit.
166
157
  # Running the scripts
167
158
  For information on syntax, what files are needed and produced by the toolkit, refer to the documentation and example files in the [template repository](https://github.com/FOLIO-FSE/migration_repo_template). We are building out the docs section in this repository as well:[Documentation](https://folio-migration-tools.readthedocs.io/en/latest/)
168
159
  ¨
169
-
@@ -1,67 +1,64 @@
1
- folio_migration_tools/__init__.py,sha256=DXvzUKFSpSZjflFWaNm0L8yhFk0u7RVIvQMskwMmKFc,238
2
- folio_migration_tools/__main__.py,sha256=kfo4iKf3GJD7deh4RvIizKnC4zvIgCpNo-Bs7HBM34s,8453
3
- folio_migration_tools/circulation_helper.py,sha256=iib2p0WGzOcAnwaJppDYiONc-1Jdna66dPAtBmAIuCE,14538
1
+ folio_migration_tools/__init__.py,sha256=lnYgqA47l0iA-iORkVH3dgevk7gyGxVwg3MnLltA-U8,223
2
+ folio_migration_tools/__main__.py,sha256=MlF8Fj_E4EcW6rU0posfj3ZyPzSWzSm6zXz2jlN7OGw,8835
3
+ folio_migration_tools/circulation_helper.py,sha256=r1zpOKy47VFRHyXHvwUEjPfQ4jyJpjMAYc1IktJ94WU,14661
4
4
  folio_migration_tools/colors.py,sha256=GP0wdI_GZ2WD5SjrbPN-S3u8vvN_u6rGQIBBcWv_0ZM,227
5
5
  folio_migration_tools/config_file_load.py,sha256=zHHa6NDkN6EJiQE4DgjrFQPVKsd70POsfbGkB8308jg,2822
6
- folio_migration_tools/custom_dict.py,sha256=-FUnhKp90Dg8EHlY6twx-PYQxBUWEO7FgxL2b7pf-xk,678
7
- folio_migration_tools/custom_exceptions.py,sha256=1zgOKy3NBUVGG6i9YxK6w2Hntlea8MHmm7mdnjBtzvQ,2687
6
+ folio_migration_tools/custom_dict.py,sha256=rRd9_RQqI85171p7wTfpMM0Mladh-LChbgMSmLvN7N0,680
7
+ folio_migration_tools/custom_exceptions.py,sha256=BLP1gMPbTHSN-rqxzTawT4sRLiyAU3blBdkUBwiiPRk,2642
8
8
  folio_migration_tools/extradata_writer.py,sha256=fuchNcMc6BYb9IyfAcvXg7X4J2TfX6YiROfT2hr0JMw,1678
9
- folio_migration_tools/folder_structure.py,sha256=bZlmKGtxdytWcqjnM2lE4Vpx4nHyYRk7CNL1tZhLtXY,6917
10
- folio_migration_tools/helper.py,sha256=iWQhdcuzbGzVpEAiHQczO4hdhIH_iciLEp1SCGDynMI,2983
9
+ folio_migration_tools/folder_structure.py,sha256=yqeeB1uADw9J6TCHUxKOv7wrTglfAeX9KpwNgOHjTg0,6917
10
+ folio_migration_tools/helper.py,sha256=Jb-9PrMkgOUGYScRf8jMmGGTcPIohm3eFHenGSi3cUA,2979
11
11
  folio_migration_tools/holdings_helper.py,sha256=yJpz6aJrKRBiJ1MtT5bs2vXAc88uJuGh2_KDuCySOKc,7559
12
12
  folio_migration_tools/i18n_config.py,sha256=3AH_2b9zTsxE4XTe4isM_zYtPJSlK0ix6eBmV7kAYUM,228
13
- folio_migration_tools/library_configuration.py,sha256=LzICsZQdOkXwIqdDfh59x0-Cx77Lb18qVnWroNqekS8,7046
14
- folio_migration_tools/mapper_base.py,sha256=IYER8Dq-4qLq3qiAvUpnzc33usUbfZtNKzyZJD6DNds,23567
13
+ folio_migration_tools/library_configuration.py,sha256=N-wisWVi9rE9ojG4Z0nGOzxPb407MND-79Gkh1psnFk,8516
14
+ folio_migration_tools/mapper_base.py,sha256=NopqwmHXcNe6s7zKCzZzcy0Qp-rCrQGknepes0sw4ns,23725
15
15
  folio_migration_tools/mapping_file_transformation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- folio_migration_tools/mapping_file_transformation/courses_mapper.py,sha256=yX8yCCw6B54r7JUn5IPhMYKBgImiagUzfwBxNVRf5MQ,8091
17
- folio_migration_tools/mapping_file_transformation/holdings_mapper.py,sha256=qT8LMWZytSaOyUC9OzfJeekVIkLkNim4OzfoGlAh75g,8290
18
- folio_migration_tools/mapping_file_transformation/item_mapper.py,sha256=ZmPc64X_l3hq8qc0WDhZ020TdjvucZoQciIVIpPzwiA,10472
19
- folio_migration_tools/mapping_file_transformation/manual_fee_fines_mapper.py,sha256=2-W2Z8hwAhWT77zfDWuwWqm20j4w1mfzeAXWiyssQ8I,13434
20
- folio_migration_tools/mapping_file_transformation/mapping_file_mapper_base.py,sha256=LqxpULlickaQhIv92iBA7SwSXy1PN7l-9swLHQdnx6g,38408
16
+ folio_migration_tools/mapping_file_transformation/courses_mapper.py,sha256=ZRQ8KNgmM4Ki3ZQ3eqwyceOM55Bn8t3ZT8Pn3T-wmK8,8092
17
+ folio_migration_tools/mapping_file_transformation/holdings_mapper.py,sha256=1y64W1i4v3lV7LD0_QwrHBPx6HkA1o5muyXpWKiH2Hk,8305
18
+ folio_migration_tools/mapping_file_transformation/item_mapper.py,sha256=t2s0ShczOzz67pHwngKpxkpxDVnSNHLD3S1tJm83yOg,10257
19
+ folio_migration_tools/mapping_file_transformation/manual_fee_fines_mapper.py,sha256=CarOu2tUVXZ0mVxlM4Ahrxlc87znlLZWKLp4ZBTgols,13415
20
+ folio_migration_tools/mapping_file_transformation/mapping_file_mapper_base.py,sha256=M7Abf2Vh81vzTkmTmZSYAE6SjIQAjXzLOGUWJ1923TI,38474
21
21
  folio_migration_tools/mapping_file_transformation/notes_mapper.py,sha256=vCmZmjrjyYtXeFCyVqvWfnP8y1jGGu15RXzXIHh12xY,3530
22
- folio_migration_tools/mapping_file_transformation/order_mapper.py,sha256=hYnVkm28hE8GtOXQJDHBO0yt2Kp34bR71Qwye83WgFI,18226
23
- folio_migration_tools/mapping_file_transformation/organization_mapper.py,sha256=u1Lb6tApn-nVLqbbJV38BuipKL3OK8Y2uQ4ogoyGQaI,14639
22
+ folio_migration_tools/mapping_file_transformation/order_mapper.py,sha256=VUcbeBGlQ7KsDPgJlaOOe8bO0y5IRLTCBH_IQKcaqiA,18267
23
+ folio_migration_tools/mapping_file_transformation/organization_mapper.py,sha256=MKlN3doQ_R-Y3klkbCFL4qHUfhMATBsIhvq1jpmajqQ,14641
24
24
  folio_migration_tools/mapping_file_transformation/ref_data_mapping.py,sha256=rROcBiL5TE7bWsJ95A6shurPZ1e4In6PTwR5BN9amzU,8991
25
- folio_migration_tools/mapping_file_transformation/user_mapper.py,sha256=LJTj2F2dRKqyI37Ww0gY1AHLLT3dqyuKkY_RS_3-rg0,8543
25
+ folio_migration_tools/mapping_file_transformation/user_mapper.py,sha256=13cvFr7Vp6uxZNpAmLxGvPVLC1_En2NVvLtuP75HAzU,8846
26
26
  folio_migration_tools/marc_rules_transformation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- folio_migration_tools/marc_rules_transformation/conditions.py,sha256=F78a70HXcDLnOXDs_vSTdgf4opMWHzXzOjvpWlOh4PM,47719
28
- folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py,sha256=gM0ETZVVih35cSSpOBXA8wrBFhq2oeYaGsD89tnSNJs,13433
29
- folio_migration_tools/marc_rules_transformation/hrid_handler.py,sha256=SgnSYeNR0z_qarkizBMWZZWr8tOPZJ4fvlZjlM3nJOU,9999
27
+ folio_migration_tools/marc_rules_transformation/conditions.py,sha256=zzl18PsqUaXsT5mcolPC89ar4RpQTs_beKAgVg4bttI,48190
28
+ folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py,sha256=-mOGtoPa3qmEqGWtyBTN-fQ743ZmT8caDLc9ES9J74Y,13667
29
+ folio_migration_tools/marc_rules_transformation/hrid_handler.py,sha256=WudBOzCwcJAuhEm4urLhAk5OQWGfbKz9_4Ou8fmjm1E,10022
30
30
  folio_migration_tools/marc_rules_transformation/loc_language_codes.xml,sha256=ztn2_yKws6qySL4oSsZh7sOjxq5bCC1PhAnXJdtgmJ0,382912
31
- folio_migration_tools/marc_rules_transformation/marc_file_processor.py,sha256=QhVbJSlsWkGQgUo7ZVmQvlwpEN20Tyon_kzrZOWECoE,12549
31
+ folio_migration_tools/marc_rules_transformation/marc_file_processor.py,sha256=qEhbEcstP2Yvm_7Vr0hmRyBptn6XPbhG0INi_Pb6SKg,12365
32
32
  folio_migration_tools/marc_rules_transformation/marc_reader_wrapper.py,sha256=9ATjYMRAjy0QcXtmNZaHVhHLJ5hE1WUgOcF6KMJjbgo,5309
33
- folio_migration_tools/marc_rules_transformation/rules_mapper_authorities.py,sha256=PGt2w8h2pj8_8sGjQe3L-odFDlquURtKnoNFRWQB3GI,9621
34
- folio_migration_tools/marc_rules_transformation/rules_mapper_base.py,sha256=loNZ9gEYaAwjkP2_wLlXGedjWvSdHoGF_oJN9g6gI3s,45928
35
- folio_migration_tools/marc_rules_transformation/rules_mapper_bibs.py,sha256=RD46EzS0NQArn5LCGbrxDm9vbbW9PO_6iNUQwJBAbSg,30364
36
- folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py,sha256=ZgyDxmNE7LwW8Cd55wRIEE-u6iyMKCRRXdq2ZRjm2nc,28779
37
- folio_migration_tools/migration_report.py,sha256=BkRspM1hwTBnWeqsHamf7yVEofzLj560Q-9G--O00hw,4258
33
+ folio_migration_tools/marc_rules_transformation/rules_mapper_authorities.py,sha256=fhe1vTt9F5u5PJliklSGP3TPZHRO3KV8GHeb-pdLdnA,9622
34
+ folio_migration_tools/marc_rules_transformation/rules_mapper_base.py,sha256=ijOs9r0Mcx0XyNhDAq7fw1aFJ-JnAEhHx98-t262uRo,46158
35
+ folio_migration_tools/marc_rules_transformation/rules_mapper_bibs.py,sha256=F8tKn59zHUV3Gqa9NY-JvTbWgfDjNTcPvQONk8gzwGs,30428
36
+ folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py,sha256=YILyEfO-LkQPk-4OjiuY68X5xDA0LlI7UUp7_mvzLUE,29184
37
+ folio_migration_tools/migration_report.py,sha256=B8e4tMfT0xCJ3BxkSg7ZZJYmg0VLQVXmmVnWwmojZD4,4260
38
38
  folio_migration_tools/migration_tasks/__init__.py,sha256=ZkbY_yGyB84Ke8OMlYUzyyBj4cxxNrhMTwQlu_GbdDs,211
39
- folio_migration_tools/migration_tasks/authority_transformer.py,sha256=AoXg9s-GLO3yEEDCrQV7hc4YVXxwxsdxDdpj1zhHydE,4251
40
- folio_migration_tools/migration_tasks/batch_poster.py,sha256=Oc04VXIs-D8HzvKDtFR3evGVuPZmw35iWyUyOnpP-RE,50410
41
- folio_migration_tools/migration_tasks/bibs_transformer.py,sha256=46d44pcDAodFXDYbrTCMRASISbDciXmA0CXYfhP2IaE,6298
42
- folio_migration_tools/migration_tasks/courses_migrator.py,sha256=CzXnsu-KGP7B4zcINJzLYUqz47D16NuFfzu_DPqRlTQ,7061
43
- folio_migration_tools/migration_tasks/holdings_csv_transformer.py,sha256=-lMsQCkxVj2kFa0awf0_wsD5do1hbRhUqIu4p0UiRNk,21955
44
- folio_migration_tools/migration_tasks/holdings_marc_transformer.py,sha256=c_ruhOgidyJdSnnRwWUs3wwFMiLqbVMPOhhCaYuH_TI,14343
45
- folio_migration_tools/migration_tasks/items_transformer.py,sha256=oTbFX2saF7-ZCb1mO3baLvODnBSEbbN5F_GtSth3iG4,19755
46
- folio_migration_tools/migration_tasks/loans_migrator.py,sha256=PF8DNpGKsppSDr7wX96Ao13UTFu6dl9cz2URLqSsOzE,40052
39
+ folio_migration_tools/migration_tasks/authority_transformer.py,sha256=tB9XBJn5BPJ1Xa79R9blDz31jN4UvLB1VFbyFjFjfM4,4228
40
+ folio_migration_tools/migration_tasks/batch_poster.py,sha256=x3DQPrI1QnRtg9Bdf-e3ztv4llWPt5JpeCIyE7mMNWU,50634
41
+ folio_migration_tools/migration_tasks/bibs_transformer.py,sha256=zPxh2tjyqx88fuH1FuKLwhT6lhZ5fVTQAqE08IggYgM,6351
42
+ folio_migration_tools/migration_tasks/courses_migrator.py,sha256=sKIeyUlc7o189lw88XbGILVkwnR9krqO0PgS-vLCCm8,7039
43
+ folio_migration_tools/migration_tasks/holdings_csv_transformer.py,sha256=JzOufqjSR2V-gUvOq0pdQFsXjpxk1ldGJBQWIWGfCps,21915
44
+ folio_migration_tools/migration_tasks/holdings_marc_transformer.py,sha256=b1lWbYmBdvN37Yk_hpeh7y2TDrzdHmUm5jXxP2jxZ-0,14191
45
+ folio_migration_tools/migration_tasks/items_transformer.py,sha256=gIJ9SKUENE3OaEouGAFTsGjciN_YxwRoUAAEKJlfG-E,19498
46
+ folio_migration_tools/migration_tasks/loans_migrator.py,sha256=6mwtA9-6B_pU1GKS9VD7Wu5stZ8YLlyeliFJhyPuho0,38785
47
47
  folio_migration_tools/migration_tasks/manual_fee_fines_transformer.py,sha256=CnmlTge7nChUJ10EiUkriQtJlVxWqglgfhjgneh2_yM,7247
48
- folio_migration_tools/migration_tasks/migration_task_base.py,sha256=weQGuqmJz_OFvUUmV3tf19va7Hzc01OAOELbsn9ORR0,22664
49
- folio_migration_tools/migration_tasks/orders_transformer.py,sha256=3Fk3WgSYtCboIsRgHpt0Zd5-es8vT7FWoqDHkupUXLk,14318
50
- folio_migration_tools/migration_tasks/organization_transformer.py,sha256=Kuxkh1sKyUVBqm5qAK1Jrq-4xcyNz2JPZvvFRqfwI8s,16922
51
- folio_migration_tools/migration_tasks/requests_migrator.py,sha256=QP9OBezC3FfcKpI78oMmydxcPaUIYAgHyKevyLwC-WQ,14841
52
- folio_migration_tools/migration_tasks/reserves_migrator.py,sha256=4sSPer6_6yMwiiY1VYJmYZske_Ah1XG4KAM3NDadPhg,9952
53
- folio_migration_tools/migration_tasks/user_transformer.py,sha256=aylrMC9n47fdStgsNfW4ZbJh2E4FDSPypsaNv52ynKc,12330
54
- folio_migration_tools/task_configuration.py,sha256=73OWc8TX--fwPRptv3eQVEVv0-XmNaZcb3m__1HENSA,1161
55
- folio_migration_tools/test_infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- folio_migration_tools/test_infrastructure/mocked_classes.py,sha256=BurU3NGU_Q8as_BGmW98q9O6bujZDkOfFmvKKdVw9t8,15056
48
+ folio_migration_tools/migration_tasks/migration_task_base.py,sha256=AYkrypN4D4dfPO8Kj8l2mNsxcmIkj_1BG38UdC7vlrc,22304
49
+ folio_migration_tools/migration_tasks/orders_transformer.py,sha256=h8EyRbvbtwDZJq1y73J7oZFRdI1U4vq1Vrlay4GLf4M,13885
50
+ folio_migration_tools/migration_tasks/organization_transformer.py,sha256=5s-ACb9-R8JLlPnROOq1ZnDIRCLQeWaxORDn0SrhQqs,16747
51
+ folio_migration_tools/migration_tasks/requests_migrator.py,sha256=Q7sWOxqq73Fdg3Q1tmpvRxU9qhhG1BV3AGMoCMwh2cE,14768
52
+ folio_migration_tools/migration_tasks/reserves_migrator.py,sha256=jdiwWAlMydXE2vlv0lgHRUljarslveyVOu-TCnymAEs,9953
53
+ folio_migration_tools/migration_tasks/user_transformer.py,sha256=fWfcO9Njwpyt0-De3nhC_gMu_lHOEkhMdCRryXz3xcc,12241
54
+ folio_migration_tools/task_configuration.py,sha256=6eqbjjSWfi-qgp0bhCsuBVE3gTK4HaXzXsAo68JPGc0,1146
57
55
  folio_migration_tools/transaction_migration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- folio_migration_tools/transaction_migration/legacy_loan.py,sha256=sLw2fCBao1VWZykOx-BWpMndLHjJNj-HJZFYqbpVV5A,7561
59
- folio_migration_tools/transaction_migration/legacy_request.py,sha256=1ulyFzPQw_InOjyPzkWpGnNptgXdQ18nmri0J8Nlpkc,6124
56
+ folio_migration_tools/transaction_migration/legacy_loan.py,sha256=A5qvThfP3g62YnykLyti_tqTY7dq1SbLi3WZz7QXk6s,7399
57
+ folio_migration_tools/transaction_migration/legacy_request.py,sha256=Kv7jpBIuZ_qyay8BdaeCPJID67l43Cl6x-ws9Lt49NI,6121
60
58
  folio_migration_tools/transaction_migration/legacy_reserve.py,sha256=qzw0okg4axAE_ezXopP9gFsQ_e60o0zh7zqRzFBSWHY,1806
61
59
  folio_migration_tools/transaction_migration/transaction_result.py,sha256=cTdCN0BnlI9_ZJB2Z3Fdkl9gpymIi-9mGZsRFlQcmDk,656
62
60
  folio_migration_tools/translations/en.json,sha256=4Ac66PR5Y78ll4_grhBm2IdTMsoZUv0q3IJvX8SQiJI,41778
63
- folio_migration_tools-1.9.10.dist-info/METADATA,sha256=otbWpB6CpG0dn3fTGpgP9U1PMj7aMc5LpCQ-REYC3Oo,7472
64
- folio_migration_tools-1.9.10.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
65
- folio_migration_tools-1.9.10.dist-info/entry_points.txt,sha256=Hbe-HjqMcU8FwVshVIkeWyZd9XwgT1CCMNf06EpHQu8,77
66
- folio_migration_tools-1.9.10.dist-info/licenses/LICENSE,sha256=PhIEkitVi3ejgq56tt6sWoJIG_zmv82cjjd_aYPPGdI,1072
67
- folio_migration_tools-1.9.10.dist-info/RECORD,,
61
+ folio_migration_tools-1.10.0b1.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
62
+ folio_migration_tools-1.10.0b1.dist-info/entry_points.txt,sha256=mJRRiCNP9j7_NpVXamHEiW8pDEjWQs1vEqD89G354cM,79
63
+ folio_migration_tools-1.10.0b1.dist-info/METADATA,sha256=S629dTqv9fG2BF5Z2WsRKI5YRClB-wv_8frekt5zoyo,7162
64
+ folio_migration_tools-1.10.0b1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.8.24
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ folio-migration-tools = folio_migration_tools.__main__:main
3
+
File without changes