X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/30e68368555ff801a645746dfe9edc7aa39a70ff..4b958ca8fc156576373e1d805fff96fb34a35804:/librarian/formats/pdf/__init__.py diff --git a/librarian/formats/pdf/__init__.py b/librarian/formats/pdf/__init__.py index 7d170b9..a8fe38f 100644 --- a/librarian/formats/pdf/__init__.py +++ b/librarian/formats/pdf/__init__.py @@ -73,6 +73,8 @@ class PdfFormat(Format): if url.startswith('/'): url = 'http://milpeer.eu' + url + if '.' not in url: + raise BuildError('Linked file without extension: %s' % url) ext = url.rsplit('.', 1)[-1] if image: urlretrieve(url, save_as + '_.' + ext) @@ -183,12 +185,15 @@ class PdfFormat(Format): doc.append(texml_cmd("section*", "Information about the resource")) doc.append(texml_cmd("vspace", "1em")) - for m, f in ( - ('Publisher: ', DCNS('publisher')), - ('Rights: ', DCNS('rights')), - ('Intended audience: ', DCNS('audience')), - ('', DCNS('description'))): - v = self.doc.meta.get_one(f) + for m, f, multiple in ( + ('Publisher: ', DCNS('publisher'), False), + ('Rights: ', DCNS('rights'), False), + ('Intended audience: ', DCNS('audience'), True), + ('', DCNS('description'), False)): + if multiple: + v = ', '.join(self.doc.meta.get(f)) + else: + v = self.doc.meta.get_one(f) if v: e = texml_cmd("par", "") e[0].append(texml_cmd("noindent")) @@ -347,6 +352,7 @@ PdfFormat.renderers.register(core.Div, 'video', VideoRenderer('par')) PdfFormat.renderers.register(core.Div, 'defined', CmdRenderer('textbf')) PdfFormat.renderers.register(core.Div, 'item', CmdRenderer('item')) +PdfFormat.renderers.register(core.Span, 'item', CmdRenderer('item')) PdfFormat.renderers.register(core.Div, 'list', EnvRenderer('itemize')) PdfFormat.renderers.register(core.Div, 'list.enum', EnvRenderer('enumerate'))