コード例 #1
0
ファイル: model.py プロジェクト: Eden-Massalonga/rero-ils
# 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
コード例 #2
0
#
# 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'):