From c18b11aa9664f6e683e9080dcdfabdc620959b50 Mon Sep 17 00:00:00 2001
From: Miguel Moreira <miguel.moreira@rero.ch>
Date: Thu, 4 Nov 2021 15:02:52 +0100
Subject: [PATCH] documents: import faculty and department from RERO DOC for
 UNIFR

* Imports the "faculty" and "department" fields from RERO DOC
  to "customField1" and "customField2", resp. Applies only to FOLIA.
* Closes #691.

Co-Authored-by: Miguel Moreira <miguel.moreira@rero.ch>
---
 sonar/modules/documents/dojson/rerodoc/model.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/sonar/modules/documents/dojson/rerodoc/model.py b/sonar/modules/documents/dojson/rerodoc/model.py
index b676d29e..991a427c 100644
--- a/sonar/modules/documents/dojson/rerodoc/model.py
+++ b/sonar/modules/documents/dojson/rerodoc/model.py
@@ -927,6 +927,22 @@ def marc21_to_contribution_field_711(self, key, value):
     return None
 
 
+@overdo.over('customField1', '^918..')
+@utils.ignore_value
+def marc21_to_faculty_and_department(self, key, value):
+    """Extract faculty and department for UNIFR."""
+    record = overdo.blob_record
+    org = record.get('980__', {}).get('b')
+    if org and org == 'UNIFR':
+        faculty = value.get('a')
+        if faculty:
+            self['customField1'] = [faculty]
+        dep = value.get('c')
+        if dep:
+            self['customField2'] = [dep]
+    return None
+
+
 @overdo.over('partOf', '^773..')
 @utils.for_each_value
 @utils.ignore_value