From: Jan Szejko Date: Wed, 17 May 2017 12:14:14 +0000 (+0200) Subject: ISBNs in book_info X-Git-Tag: 1.7~50 X-Git-Url: https://git.mdrn.pl/librarian.git/commitdiff_plain/7dee009f056f7d802ed487b9b77698d54309f4da ISBNs in book_info --- diff --git a/librarian/dcparser.py b/librarian/dcparser.py index 40eac14..0a2822c 100644 --- a/librarian/dcparser.py +++ b/librarian/dcparser.py @@ -310,6 +310,10 @@ class WorkInfo(object): text = text.decode('utf-8') val = TextPlus(text) val.lang = e.attrib.get(XMLNS('lang'), lang) + if e.tag == 'meta': + meta_id = e.attrib.get('id') + if meta_id and meta_id.endswith('-id'): + field_dict[meta_id] = [val.replace('ISBN-', 'ISBN ')] else: val = e.text fv.append(val) @@ -458,6 +462,11 @@ class BookInfo(WorkInfo): # WLCover-specific. Field(WLNS('coverBarColor'), 'cover_bar_color', required=False), Field(WLNS('coverBoxPosition'), 'cover_box_position', required=False), + Field('pdf-id', 'isbn_pdf', required=False), + Field('epub-id', 'isbn_epub', required=False), + Field('mobi-id', 'isbn_mobi', required=False), + Field('txt-id', 'isbn_txt', required=False), + Field('html-id', 'isbn_html', required=False), ) diff --git a/librarian/text.py b/librarian/text.py index 39bf324..3cd7313 100644 --- a/librarian/text.py +++ b/librarian/text.py @@ -85,9 +85,9 @@ def transform(wldoc, flags=None, **options): if funders: funders = u"\n\nPublikację wsparli i wsparły: %s." % funders publisher = '\n\nWydawca: ' + ', '.join(parsed_dc.publisher) - isbn_element = document.edoc.find("//meta[@id='txt-id']") - if isbn_element is not None: - isbn = isbn_element.text.replace('ISBN-', '\n\nISBN ') + isbn = getattr(parsed_dc, 'isbn_html', None) + if isbn: + isbn = '\n\n' + isbn else: isbn = '' else: