# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. """rero-ils MARC21 model definition.""" import re from dojson import utils from isbnlib import EAN13 from rero_ils.dojson.utils import ReroIlsMarc21Overdo, \ remove_trailing_punctuation marc21 = ReroIlsMarc21Overdo() @marc21.over('languages', '^008') @utils.ignore_value def marc21_to_languages_from_008(self, key, value): """Get languages. languages: 008 and 041 [$a, repetitive] """ language = self.get('language', []) # put 008 language in first place language.insert(0, {'type': 'bf:Language', 'value': value.strip()[35:38]}) return language
# # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. """rero-ils MARC21 model definition.""" import os import re import sys import requests from dojson import utils from rero_ils.dojson.utils import ReroIlsMarc21Overdo, \ remove_trailing_punctuation marc21tojson = ReroIlsMarc21Overdo() def list_of_langs(data): """Construct list of language codes from data.""" lang_codes = [] for lang_data in data: lang_codes.append(lang_data.get('value')) return lang_codes def get_mef_person_link(id, key, value): """Get mef person link.""" # https://mef.test.rero.ch/api/mef/?q=rero.rero_pid:A012327677 PROD_HOST = 'mef.rero.ch' if os.environ.get('RERO_ILS_MEF_HOST'):