Exemple #1
0
def amazon_and_marc(key1, key2):
    if all(k in ('/b/OL9621221M', '/b/OL20749803M') for k in (key1, key2)):
        return sample_amazon, sample_marc
    mc1 = get_mc(key1)
    mc2 = get_mc(key2)
    if mc1.startswith('amazon:'):
        assert not mc2.startswith('amazon:')
        rec_amazon = try_amazon(key1)
        rec_marc = get_record(key2, mc2)
    else:
        assert mc2.startswith('amazon:')
        rec_amazon = try_amazon(key2)
        rec_marc = get_record(key1, mc1)
    return rec_amazon, rec_marc
Exemple #2
0
    def marc_compare(self, editions):
        key1 = editions[0]['key']
        mc1 = get_mc(key1)
        rec1 = get_record(key1, mc1)
        key2 = editions[1]['key']
        mc2 = get_mc(key2)
        rec2 = get_record(key2, mc2)

        yield '<h2>Level 1</h2>'
        l1 = merge_marc.level1_merge(rec1, rec2)
        yield from self.field_table(l1, rec1, rec2)

        yield '<h2>Level 2</h2>'
        l2 = merge_marc.level2_merge(rec1, rec2)
        yield from self.field_table(l2, rec1, rec2)
def work_and_marc():
    i = 0
    skip = True
    for w in query_iter({'type': '/type/work', 'title': None}):
        if skip:
            if w['key'] == '/w/OL56814W':
                skip = False
            else:
                continue
        marc = set()
        q = {
            'type': '/type/edition',
            'works': w['key'],
            'title': None,
            'source_records': None
        }
        for e in query_iter(q):
            if e.get('source_records', []):
                marc.update(i[5:] for i in e['source_records']
                            if i.startswith('marc:'))
            mc = get_mc(e['key'])
            if mc and not mc.startswith('ia:') and not mc.startswith(
                    'amazon:'):
                marc.add(mc)
        if marc:
            yield w, marc
        else:
            print('no marc:', w)
Exemple #4
0
def work_and_marc():
    i = 0
    skip = True
    for w in query_iter({'type': '/type/work', 'title': None}):
        if skip:
            if w['key'] == '/w/OL56814W':
                skip = False
            else:
                continue
        marc = set()
        q = {'type': '/type/edition', 'works': w['key'], 'title': None, 'source_records': None}
        for e in query_iter(q):
            if e.get('source_records', []):
                marc.update(i[5:] for i in e['source_records'] if i.startswith('marc:'))
            mc = get_mc(e['key'])
            if mc and not mc.startswith('ia:') and not mc.startswith('amazon:'):
                marc.add(mc)
        if marc:
            yield w, marc
        else:
            print('no marc:', w)
Exemple #5
0
def marc_and_marc(key1, key2):
    mc1 = get_mc(key1)
    rec1 = get_record(key1, mc1)
    mc2 = get_mc(key2)
    rec2 = get_record(key2, mc2)
    return rec1, rec2