Example #1
0
 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]))
Example #2
0
 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]))
Example #3
0
def get_all_subfields(line):
    return ((i[0], translate(i[1:])) for i in line[3:-1].split('\x1f') if i)
Example #4
0
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()]
Example #5
0
def test_translate():
    # Convert MARC8 to unicode
    assert translate('Vieira, Claudio Bara\xe2una,',
                     leader_says_marc8=True) == u'Vieira, Claudio Baraúna,'
Example #6
0
 def translate(self, data):
     return fast_parse.translate(data)