def get_record(key, mc): data = get_from_archive(mc) try: rec = fast_parse.read_edition(data) except (fast_parse.SoundRecording, IndexError, AssertionError): print(mc) print(key) return False try: return marc.build_marc(rec) except TypeError: print(rec) raise
def get_record(key, mc): data = get_from_archive(mc) try: rec = fast_parse.read_edition(data) except (fast_parse.SoundRecording, IndexError, AssertionError): print mc print edition_key return False try: return marc.build_marc(rec) except TypeError: print rec raise
#!/usr/bin/python2.5 from catalog.marc.fast_parse import * from catalog.get_ia import get_from_archive import sys, codecs, re sys.stdout = codecs.getwriter('utf-8')(sys.stdout) re_subtag = re.compile('\x1f(.)([^\x1f]*)') def fmt_subfields(line): def bold(s): return ''.join(c + "\b" + c for c in s) assert line[-1] == '\x1e' return ''.join(bold('$' + m.group(1)) + translate(m.group(2)) for m in re_subtag.finditer(line[2:-1])) def show_book(data): print 'leader:', data[:24] for tag, line in get_all_tag_lines(data): if tag.startswith('00'): print tag, line[:-1] else: print tag, line[0:2], fmt_subfields(line) if __name__ == '__main__': source = sys.argv[1] data = get_from_archive(source) show_book(data)