folio-migration-tools 1.9.2__py3-none-any.whl → 1.9.4__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 (20) hide show
  1. folio_migration_tools/mapping_file_transformation/user_mapper.py +39 -31
  2. folio_migration_tools/marc_rules_transformation/conditions.py +239 -30
  3. folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py +99 -65
  4. folio_migration_tools/marc_rules_transformation/marc_file_processor.py +6 -1
  5. folio_migration_tools/marc_rules_transformation/rules_mapper_bibs.py +2 -2
  6. folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py +7 -1
  7. folio_migration_tools/migration_tasks/batch_poster.py +201 -51
  8. folio_migration_tools/migration_tasks/holdings_marc_transformer.py +22 -11
  9. folio_migration_tools/migration_tasks/items_transformer.py +25 -10
  10. folio_migration_tools/migration_tasks/loans_migrator.py +238 -77
  11. folio_migration_tools/migration_tasks/organization_transformer.py +1 -0
  12. folio_migration_tools/task_configuration.py +3 -1
  13. folio_migration_tools/test_infrastructure/mocked_classes.py +5 -0
  14. folio_migration_tools/transaction_migration/legacy_loan.py +30 -10
  15. folio_migration_tools/translations/en.json +19 -1
  16. {folio_migration_tools-1.9.2.dist-info → folio_migration_tools-1.9.4.dist-info}/METADATA +2 -1
  17. {folio_migration_tools-1.9.2.dist-info → folio_migration_tools-1.9.4.dist-info}/RECORD +20 -20
  18. {folio_migration_tools-1.9.2.dist-info → folio_migration_tools-1.9.4.dist-info}/LICENSE +0 -0
  19. {folio_migration_tools-1.9.2.dist-info → folio_migration_tools-1.9.4.dist-info}/WHEEL +0 -0
  20. {folio_migration_tools-1.9.2.dist-info → folio_migration_tools-1.9.4.dist-info}/entry_points.txt +0 -0
@@ -8,7 +8,7 @@ from dateutil import tz
8
8
  from dateutil.parser import parse, ParserError
9
9
 
10
10
  from folio_migration_tools.migration_report import MigrationReport
11
- from folio_migration_tools.custom_exceptions import TransformationProcessError
11
+ from folio_migration_tools.custom_exceptions import TransformationRecordFailedError
12
12
 
13
13
  utc = ZoneInfo("UTC")
14
14
 
@@ -29,11 +29,13 @@ class LegacyLoan(object):
29
29
  "patron_barcode",
30
30
  "due_date",
31
31
  "out_date",
32
+ ]
33
+ optional_headers = [
34
+ "service_point_id",
35
+ "proxy_patron_barcode",
32
36
  "renewal_count",
33
37
  "next_item_status",
34
- "service_point_id",
35
38
  ]
36
- optional_headers = ["service_point_id", "proxy_patron_barcode"]
37
39
  legal_statuses = [
38
40
  "",
39
41
  "Aged to lost",
@@ -72,7 +74,9 @@ class LegacyLoan(object):
72
74
  )
73
75
  except (ParserError, OverflowError) as ee:
74
76
  logging.error(ee)
75
- self.errors.append((f"Parse date failure in {row=}. Setting UTC NOW", "due_date"))
77
+ self.errors.append(
78
+ (f"Parse date failure in {row=}. Setting UTC NOW", "due_date")
79
+ )
76
80
  temp_date_due = datetime.now(ZoneInfo("UTC"))
77
81
  try:
78
82
  temp_date_out: datetime = parse(self.legacy_loan_dict["out_date"])
@@ -86,18 +90,24 @@ class LegacyLoan(object):
86
90
  temp_date_out = datetime.now(
87
91
  ZoneInfo("UTC")
88
92
  ) # TODO: Consider moving this assignment block above the temp_date_due
89
- self.errors.append((f"Parse date failure in {row=}. Setting UTC NOW", "out_date"))
93
+ self.errors.append(
94
+ (f"Parse date failure in {row=}. Setting UTC NOW", "out_date")
95
+ )
90
96
 
91
97
  # good to go, set properties
92
98
  self.item_barcode: str = self.legacy_loan_dict["item_barcode"].strip()
93
99
  self.patron_barcode: str = self.legacy_loan_dict["patron_barcode"].strip()
94
- self.proxy_patron_barcode: str = self.legacy_loan_dict.get("proxy_patron_barcode", "")
100
+ self.proxy_patron_barcode: str = self.legacy_loan_dict.get(
101
+ "proxy_patron_barcode", ""
102
+ )
95
103
  self.due_date: datetime = temp_date_due
96
104
  self.out_date: datetime = temp_date_out
97
105
  self.correct_for_1_day_loans()
98
106
  self.make_utc()
99
107
  self.renewal_count = self.set_renewal_count(self.legacy_loan_dict)
100
- self.next_item_status = self.legacy_loan_dict.get("next_item_status", "").strip()
108
+ self.next_item_status = self.legacy_loan_dict.get(
109
+ "next_item_status", ""
110
+ ).strip()
101
111
  if self.next_item_status not in legal_statuses:
102
112
  self.errors.append((f"Not an allowed status {row=}", self.next_item_status))
103
113
  self.service_point_id = (
@@ -112,9 +122,11 @@ class LegacyLoan(object):
112
122
  try:
113
123
  return int(renewal_count)
114
124
  except ValueError:
115
- self.report(f"Unresolvable {renewal_count=} was replaced with 0.")
125
+ self.report(
126
+ i18n.t("Unresolvable %{renewal_count=} was replaced with 0.")
127
+ )
116
128
  else:
117
- self.report(f"Missing renewal count was replaced with 0.")
129
+ self.report(i18n.t("Missing renewal count was replaced with 0."))
118
130
  return 0
119
131
 
120
132
  def correct_for_1_day_loans(self):
@@ -124,16 +136,24 @@ class LegacyLoan(object):
124
136
  if self.out_date.hour == 0:
125
137
  self.out_date = self.out_date.replace(hour=0, minute=1)
126
138
  if self.due_date <= self.out_date:
127
- raise TransformationProcessError(self.row, i18n.t("Due date is before out date, or date information is missing from both"), json.dumps(self.legacy_loan_dict, indent=2))
139
+ raise TransformationRecordFailedError(
140
+ self.row,
141
+ i18n.t(
142
+ "Due date is before out date, or date information is missing from both"
143
+ ),
144
+ json.dumps(self.legacy_loan_dict, indent=2),
145
+ )
128
146
 
129
147
  def to_dict(self):
130
148
  return {
131
149
  "item_barcode": self.item_barcode,
132
150
  "patron_barcode": self.patron_barcode,
151
+ "proxy_patron_barcode": self.proxy_patron_barcode,
133
152
  "due_date": self.due_date.isoformat(),
134
153
  "out_date": self.out_date.isoformat(),
135
154
  "renewal_count": self.renewal_count,
136
155
  "next_item_status": self.next_item_status,
156
+ "service_point_id": self.service_point_id,
137
157
  }
138
158
 
139
159
  def make_utc(self):
@@ -6,6 +6,7 @@
6
6
  "%{field} a, x and z are missing or empty": "%{field} a, x and z are missing or empty",
7
7
  "%{field} subfields a, x, and z missing from field": "%{field} subfields a, x, and z missing from field",
8
8
  "%{fro} mapped from %{record}": "%{fro} mapped from %{record}",
9
+ "%{lost_type} and checked out": "%{lost_type} and checked out",
9
10
  "%{props} were concatenated": "%{props} were concatenated",
10
11
  "%{schema_value} added to %{prop_name}": "%{schema_value} added to %{prop_name}",
11
12
  "%{tag} subfield %{subfield} not in field": "%{tag} subfield %{subfield} not in field",
@@ -36,6 +37,8 @@
36
37
  "Check mapping file against the schema.": "Check mapping file against the schema.",
37
38
  "Checked out on first try": "Checked out on first try",
38
39
  "Checked out on second try": "Checked out on second try",
40
+ "Claim item returned": "Claim item returned",
41
+ "Claimed returned and checked out": "Claimed returned and checked out",
39
42
  "Click to expand all %{count} things": {
40
43
  "many": "Click to expand all %{count} things",
41
44
  "one": "Click to expand one thing"
@@ -57,6 +60,7 @@
57
60
  "DATA ISSUE Users not in FOLIO": "DATA ISSUE Users not in FOLIO",
58
61
  "Data issue. Consider fixing the record. ": "Data issue. Consider fixing the record. ",
59
62
  "Declare item as lost": "Declare item as lost",
63
+ "Declared lost and checked out": "Declared lost and checked out",
60
64
  "Discarded reserves": "Discarded reserves",
61
65
  "Due date is before out date, or date information is missing from both": "Due date is before out date, or date information is missing from both",
62
66
  "Duplicate 001. Creating HRID instead.\n Previous 001 will be stored in a new 035 field": "Duplicate 001. Creating HRID instead.\n Previous 001 will be stored in a new 035 field",
@@ -88,6 +92,7 @@
88
92
  "Instances HRID starting number": "Instances HRID starting number",
89
93
  "Instances linked using instances_id_map": "Instances linked using instances_id_map",
90
94
  "Interfaces": "Interfaces",
95
+ "Invalid specific retention policy in 008/13-15: %{value}": "Invalid specific retention policy in 008/13-15: %{value}",
91
96
  "Inventory records written to disk": "Inventory records written to disk",
92
97
  "Item lookups performed": "Item lookups performed",
93
98
  "Item transformation report": "Item transformation report",
@@ -95,6 +100,7 @@
95
100
  "Legacy Field": "Legacy Field",
96
101
  "Legacy bib records without 001": "Legacy bib records without 001",
97
102
  "Legacy id is empty": "Legacy id is empty",
103
+ "Loan already exists for %{item_barcode}": "Loan already exists for %{item_barcode}",
98
104
  "Loan already in failed.": "Loan already in failed.",
99
105
  "Loans discarded. Had migrated item barcode": "Loans discarded. Had migrated item barcode",
100
106
  "Loans failed pre-validation": "Loans failed pre-validation",
@@ -176,6 +182,7 @@
176
182
  "Reserve discarded. Could not find migrated barcode": "Reserve discarded. Could not find migrated barcode",
177
183
  "Reserve verified against migrated item": "Reserve verified against migrated item",
178
184
  "Reserves migration report": "Reserves migration report",
185
+ "Retention policy 6 indicates a limited period. Specific retention period will be mapped from 008/13-15": "Retention policy 6 indicates a limited period. Specific retention period will be mapped from 008/13-15",
179
186
  "Rows merged to create Purchase Orders": "Rows merged to create Purchase Orders",
180
187
  "SRS records written to disk": "SRS records written to disk",
181
188
  "Second failure": "Second failure",
@@ -186,6 +193,7 @@
186
193
  "Set leader 11 (Subfield code count) from %{record} to 2": "Set leader 11 (Subfield code count) from %{record} to 2",
187
194
  "Set leader 20-23 from %{field} to 4500": "Set leader 20-23 from %{field} to 4500",
188
195
  "Set up statistical code id mapping...": "Set up statistical code id mapping...",
196
+ "Setting item %{item_barcode} to status \"Available\"": "Setting item %{item_barcode} to status \"Available\"",
189
197
  "Source digits": "Source digits",
190
198
  "Source of heading or term": "Source of heading or term",
191
199
  "Staff suppressed": "Staff suppressed",
@@ -201,6 +209,8 @@
201
209
  "Successful matching on %{criteria}": "Successful matching on %{criteria}",
202
210
  "Successful user transformations": "Successful user transformations",
203
211
  "Successfully %{action}": "Successfully %{action}",
212
+ "Successfully Checked out %{lost_type} item and put the status back": "Successfully Checked out %{lost_type} item and put the status back",
213
+ "Successfully Checked out %{lost_type} item. Item will be declared lost.": "Successfully Checked out %{lost_type} item. Item will be declared lost.",
204
214
  "Successfully activated user": "Successfully activated user",
205
215
  "Successfully changed due date": "Successfully changed due date",
206
216
  "Successfully checked out": "Successfully checked out",
@@ -280,6 +290,8 @@
280
290
  "blurbs.Details.title": "Details",
281
291
  "blurbs.DiffsBetweenOrders.description": "This is a technical report that helps you to identify differences in the mapped order fields. ",
282
292
  "blurbs.DiffsBetweenOrders.title": "Differences between generated orders with same Legacy Identifier",
293
+ "blurbs.DigitizationPolicyMapping.description": "Digitization policies mapped from `008[21]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
294
+ "blurbs.DigitizationPolicyMapping.title": "Digitization policy",
283
295
  "blurbs.DiscardedLoans.description": "List of loans discarded for various resons",
284
296
  "blurbs.DiscardedLoans.title": "Discarded loans",
285
297
  "blurbs.DiscardedRequests.description": "List of requests discarded for various resons",
@@ -320,6 +332,8 @@
320
332
  "blurbs.HoldingsTypeMapping.title": "Holdings type mapping",
321
333
  "blurbs.HridHandling.description": "There are two ways of handling HRIDs. The default behaviour is to take the current 001 and move that to a new 035. This will also emerge as an Identifier on the Inventory Instances. The 001 and Instance HRID will be generated from the HRID settings in FOLIO. The second option is to maintain the 001s in the records, and also add this as the Instance HRID",
322
334
  "blurbs.HridHandling.title": "HRID and 001/035 handling",
335
+ "blurbs.ILLPolicyMapping.description": "ILL policies mapped from `008[20]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
336
+ "blurbs.ILLPolicyMapping.title": "ILL policy",
323
337
  "blurbs.IncompleteEntityMapping.description": "**NO ACTION REQUIRED** <br/>This is a coding anomaly that FSE will look into. <br/>Usually, the library does not have to do anything about it.<br/> One thing to look at is if there are many repeated subfields or unexpected patterns of subfields in the table.",
324
338
  "blurbs.IncompleteEntityMapping.title": "Incomplete entity mapping adding entity",
325
339
  "blurbs.IncompleteSubPropertyRemoved.description": "Add the missing required information to the record in your current ILS to ensure that it can be migrated over.",
@@ -376,6 +390,8 @@
376
390
  "blurbs.MatchedModesOfIssuanceCode.title": "Matched Modes of issuance code",
377
391
  "blurbs.MaterialTypeMapping.description": "",
378
392
  "blurbs.MaterialTypeMapping.title": "Mapped Material Types",
393
+ "blurbs.MethodOfAcquisitionMapping.description": "Acquisition methods mapped from `008[7]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
394
+ "blurbs.MethodOfAcquisitionMapping.title": "Method of acquisition",
379
395
  "blurbs.MissingInstanceTypeIds.description": "**IC ACTION REQUIRED** These reords should get an instance type ID mapped from 336, or a default of Undefined, or they will not be transformed.",
380
396
  "blurbs.MissingInstanceTypeIds.title": "Records without Instance Type Ids",
381
397
  "blurbs.MissingRequiredProperties.description": "",
@@ -408,6 +424,8 @@
408
424
  "blurbs.RecourceTypeMapping.title": "Resource Type Mapping (336)",
409
425
  "blurbs.ReferenceDataMapping.description": "",
410
426
  "blurbs.ReferenceDataMapping.title": "Reference Data Mapping",
427
+ "blurbs.RetentionPolicyMapping.description": "Retention policies mapped from `008[12-15]` (LoC documentation)[https://www.loc.gov/marc/holdings/hd008.html]",
428
+ "blurbs.RetentionPolicyMapping.title": "Retention policy",
411
429
  "blurbs.Section1.description": "This entries below seem to be related to instances",
412
430
  "blurbs.Section1.title": "__Section 1: instances",
413
431
  "blurbs.Section2.description": "The entries below seem to be related to holdings",
@@ -453,4 +471,4 @@
453
471
  "naturalId mapped from %{fro}": "naturalId mapped from %{fro}",
454
472
  "no matching identifier_types in %{names}": "no matching identifier_types in %{names}",
455
473
  "subfield present in %{linked_value_tag} but not in %{pattern_field}": "subfield present in %{linked_value_tag} but not in %{pattern_field}"
456
- }
474
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: folio_migration_tools
3
- Version: 1.9.2
3
+ Version: 1.9.4
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
@@ -19,6 +19,7 @@ Requires-Dist: argparse-prompt (>=0.0.5,<0.0.6)
19
19
  Requires-Dist: art (>=6.5,<7.0)
20
20
  Requires-Dist: deepdiff (>=6.2.3,<7.0.0)
21
21
  Requires-Dist: defusedxml (>=0.7.1,<0.8.0)
22
+ Requires-Dist: folio-data-import (>=0.3.2,<0.4.0)
22
23
  Requires-Dist: folio-uuid (>=0.2.8,<0.3.0)
23
24
  Requires-Dist: folioclient (>=0.70.1,<0.71.0)
24
25
  Requires-Dist: pyaml (>=21.10.1,<22.0.0)
@@ -22,46 +22,46 @@ folio_migration_tools/mapping_file_transformation/notes_mapper.py,sha256=vCmZmjr
22
22
  folio_migration_tools/mapping_file_transformation/order_mapper.py,sha256=-JEBEeOntNPE9-NYhWAJ1hpQI03ZzMv-_mkyLzSa9x4,17750
23
23
  folio_migration_tools/mapping_file_transformation/organization_mapper.py,sha256=u1Lb6tApn-nVLqbbJV38BuipKL3OK8Y2uQ4ogoyGQaI,14639
24
24
  folio_migration_tools/mapping_file_transformation/ref_data_mapping.py,sha256=qFsn_LwKZeKFdOudfEQnNA3DEHOdNQVKzTPdZAlDPX0,8864
25
- folio_migration_tools/mapping_file_transformation/user_mapper.py,sha256=GnePkCK2k8VSd_wAUNlLwTLLB-WwpxZLBC-kDXtONBU,7867
25
+ folio_migration_tools/mapping_file_transformation/user_mapper.py,sha256=LJTj2F2dRKqyI37Ww0gY1AHLLT3dqyuKkY_RS_3-rg0,8543
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=ttTZISieqveu3YpvpnawHh3In1_DNQMTziI5yasfmWU,39142
28
- folio_migration_tools/marc_rules_transformation/holdings_statementsparser.py,sha256=Rvdub7RdtR1BWnZij_Ejgp7cG9Kz58i_tXwXJbhaMtU,12101
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
29
  folio_migration_tools/marc_rules_transformation/hrid_handler.py,sha256=SgnSYeNR0z_qarkizBMWZZWr8tOPZJ4fvlZjlM3nJOU,9999
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=M-PHduzMYmZnrMwOSlwnWQ5bT-566gVRFSMo-JgS2d4,12346
31
+ folio_migration_tools/marc_rules_transformation/marc_file_processor.py,sha256=QhVbJSlsWkGQgUo7ZVmQvlwpEN20Tyon_kzrZOWECoE,12549
32
32
  folio_migration_tools/marc_rules_transformation/marc_reader_wrapper.py,sha256=9ATjYMRAjy0QcXtmNZaHVhHLJ5hE1WUgOcF6KMJjbgo,5309
33
33
  folio_migration_tools/marc_rules_transformation/rules_mapper_authorities.py,sha256=PGt2w8h2pj8_8sGjQe3L-odFDlquURtKnoNFRWQB3GI,9621
34
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=GYZmVrEKcHkOEH4U3027-vQjS6mfMbk84GJTqiVrD4E,30350
36
- folio_migration_tools/marc_rules_transformation/rules_mapper_holdings.py,sha256=wT9HDodIRYeGbjutVHDHpSBVWrXsuA2LO8e_MmBMmzE,28498
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
37
  folio_migration_tools/migration_report.py,sha256=BkRspM1hwTBnWeqsHamf7yVEofzLj560Q-9G--O00hw,4258
38
38
  folio_migration_tools/migration_tasks/__init__.py,sha256=ZkbY_yGyB84Ke8OMlYUzyyBj4cxxNrhMTwQlu_GbdDs,211
39
39
  folio_migration_tools/migration_tasks/authority_transformer.py,sha256=AoXg9s-GLO3yEEDCrQV7hc4YVXxwxsdxDdpj1zhHydE,4251
40
- folio_migration_tools/migration_tasks/batch_poster.py,sha256=uXxvmxlLSTEhvdBH9FgxhIHHXB4ezLt35LSN6lKprYE,39673
40
+ folio_migration_tools/migration_tasks/batch_poster.py,sha256=7gH9KSdtTSbPIS3eXK6_JBi0OshUAupV8AEew9QBSoU,45327
41
41
  folio_migration_tools/migration_tasks/bibs_transformer.py,sha256=46d44pcDAodFXDYbrTCMRASISbDciXmA0CXYfhP2IaE,6298
42
42
  folio_migration_tools/migration_tasks/courses_migrator.py,sha256=CzXnsu-KGP7B4zcINJzLYUqz47D16NuFfzu_DPqRlTQ,7061
43
43
  folio_migration_tools/migration_tasks/holdings_csv_transformer.py,sha256=kMhtHE8DJjA4d6kXBcfflueha3R3nwlBQjdec8CaY8c,21926
44
- folio_migration_tools/migration_tasks/holdings_marc_transformer.py,sha256=DVYdSNUPmdTv6GfLJdyT806dZV6UQHH_T8gkqtPgXaU,14143
45
- folio_migration_tools/migration_tasks/items_transformer.py,sha256=hkrllccEkKajp24BFSS85uiCpaEJinfkfvdjXGxNgCM,19223
46
- folio_migration_tools/migration_tasks/loans_migrator.py,sha256=CPsin9XLzHwNrpKHPMHAvgRvpoH8QvAfYZYr1FSxAN4,34520
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=9DQf58CZpgTM1m_miZTzsfVOGBWLsHrSFalQBO7g9DE,39406
47
47
  folio_migration_tools/migration_tasks/manual_fee_fines_transformer.py,sha256=CnmlTge7nChUJ10EiUkriQtJlVxWqglgfhjgneh2_yM,7247
48
48
  folio_migration_tools/migration_tasks/migration_task_base.py,sha256=Q-57h6rmt74bC9LidA9ZoagEcwVd_ytq8IUWelVOm2E,22521
49
49
  folio_migration_tools/migration_tasks/orders_transformer.py,sha256=6SnzU_rUTu2B5hQykI2nRA7vI1rg-uxuF9Ncupe0AEY,14302
50
- folio_migration_tools/migration_tasks/organization_transformer.py,sha256=vcCjhN1sS55c_a0LXi1Yw1eq3zpDn5E4BGbm2zDQ_Z4,16885
50
+ folio_migration_tools/migration_tasks/organization_transformer.py,sha256=Kuxkh1sKyUVBqm5qAK1Jrq-4xcyNz2JPZvvFRqfwI8s,16922
51
51
  folio_migration_tools/migration_tasks/requests_migrator.py,sha256=QP9OBezC3FfcKpI78oMmydxcPaUIYAgHyKevyLwC-WQ,14841
52
52
  folio_migration_tools/migration_tasks/reserves_migrator.py,sha256=4sSPer6_6yMwiiY1VYJmYZske_Ah1XG4KAM3NDadPhg,9952
53
53
  folio_migration_tools/migration_tasks/user_transformer.py,sha256=aylrMC9n47fdStgsNfW4ZbJh2E4FDSPypsaNv52ynKc,12330
54
- folio_migration_tools/task_configuration.py,sha256=2GXVog0-_cFybqsU2WFcxnTNGDhvDzqb7gYyIimdPAk,1131
54
+ folio_migration_tools/task_configuration.py,sha256=73OWc8TX--fwPRptv3eQVEVv0-XmNaZcb3m__1HENSA,1161
55
55
  folio_migration_tools/test_infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- folio_migration_tools/test_infrastructure/mocked_classes.py,sha256=lpohRMqKnGmsoyspUQFXuyrGXRoIQZu2Dq7Q5WLQJw8,14877
56
+ folio_migration_tools/test_infrastructure/mocked_classes.py,sha256=BurU3NGU_Q8as_BGmW98q9O6bujZDkOfFmvKKdVw9t8,15056
57
57
  folio_migration_tools/transaction_migration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- folio_migration_tools/transaction_migration/legacy_loan.py,sha256=zablUc_xKI2ah12RVNS-63cN6IkFCwTiIaJWE-7T9cU,6229
58
+ folio_migration_tools/transaction_migration/legacy_loan.py,sha256=2GHqHDVShdZuoUlW2yvePcsesJZ5-Huq3leD71tNtaE,6618
59
59
  folio_migration_tools/transaction_migration/legacy_request.py,sha256=1ulyFzPQw_InOjyPzkWpGnNptgXdQ18nmri0J8Nlpkc,6124
60
60
  folio_migration_tools/transaction_migration/legacy_reserve.py,sha256=qzw0okg4axAE_ezXopP9gFsQ_e60o0zh7zqRzFBSWHY,1806
61
61
  folio_migration_tools/transaction_migration/transaction_result.py,sha256=cTdCN0BnlI9_ZJB2Z3Fdkl9gpymIi-9mGZsRFlQcmDk,656
62
- folio_migration_tools/translations/en.json,sha256=FeoaN3INfim4_-l3DSamHo2hn1SUJr5DsgDgsV4XUek,39693
63
- folio_migration_tools-1.9.2.dist-info/LICENSE,sha256=PhIEkitVi3ejgq56tt6sWoJIG_zmv82cjjd_aYPPGdI,1072
64
- folio_migration_tools-1.9.2.dist-info/METADATA,sha256=Cqu9bvuBBESPXOo3GoNF9GgijMciQSPtMPFnl94q4a4,7444
65
- folio_migration_tools-1.9.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
66
- folio_migration_tools-1.9.2.dist-info/entry_points.txt,sha256=Hbe-HjqMcU8FwVshVIkeWyZd9XwgT1CCMNf06EpHQu8,77
67
- folio_migration_tools-1.9.2.dist-info/RECORD,,
62
+ folio_migration_tools/translations/en.json,sha256=6IpYYNFCtQoXACndPM0d1Oa25GYuaF-G-b4YpzTjQH0,41656
63
+ folio_migration_tools-1.9.4.dist-info/LICENSE,sha256=PhIEkitVi3ejgq56tt6sWoJIG_zmv82cjjd_aYPPGdI,1072
64
+ folio_migration_tools-1.9.4.dist-info/METADATA,sha256=L36bpdFWAhsV2r8FBIjpZ-1N4Vl0u4EMV0f7g5ObNgg,7494
65
+ folio_migration_tools-1.9.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
66
+ folio_migration_tools-1.9.4.dist-info/entry_points.txt,sha256=Hbe-HjqMcU8FwVshVIkeWyZd9XwgT1CCMNf06EpHQu8,77
67
+ folio_migration_tools-1.9.4.dist-info/RECORD,,