def add_file(self, ctx, filename, url=None, path=None, image=False):
from subprocess import call
- if not url or path:
+ if not url and not path:
raise BuildError('No URL or path for image')
save_as = os.path.join(ctx.workdir, filename)
if path is not None:
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)
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"))
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'))