def html_subfields(self, line): assert line[-1] == b'\x1e'[0] encode = { 'k': lambda s: '<b>$%s</b>' % esc(translate(s, self.is_marc8)), 'v': lambda s: esc(translate(s, self.is_marc8)), } return ''.join(encode[k](v) for k, v in split_line(line[2:-1]))
def html_subfields(self, line): assert line[-1] == '\x1e' encode = { 'k': lambda s: '<b>$%s</b>' % esc(translate(s, self.is_marc8)), 'v': lambda s: esc(translate(s, self.is_marc8)), } return ''.join(encode[k](v) for k, v in split_line(line[2:-1]))
def get_all_subfields(line): return ((i[0], translate(i[1:])) for i in line[3:-1].split('\x1f') if i)
def get_lower_subfields(line): if len(line) < 4: return [] # http://openlibrary.org/show-marc/marc_university_of_toronto/uoft.marc:2479215:693 return [translate(i[1:]) for i in line[3:-1].split('\x1f') if i and i[0].islower()]
def test_translate(): # Convert MARC8 to unicode assert translate('Vieira, Claudio Bara\xe2una,', leader_says_marc8=True) == u'Vieira, Claudio Baraúna,'
def translate(self, data): return fast_parse.translate(data)