fnp
/
librarian.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix video
[librarian.git]
/
librarian
/
formats
/
epub
/
__init__.py
diff --git
a/librarian/formats/epub/__init__.py
b/librarian/formats/epub/__init__.py
index
4b6cf13
..
3ff7015
100644
(file)
--- a/
librarian/formats/epub/__init__.py
+++ b/
librarian/formats/epub/__init__.py
@@
-13,7
+13,7
@@
import zipfile
from urllib2 import urlopen
from lxml import etree
from urllib2 import urlopen
from lxml import etree
-from librarian import OPFNS, NCXNS, XHTMLNS, DCNS, BuildError
+from librarian import OPFNS, NCXNS, XHTMLNS, DCNS, BuildError
, get_provider
from librarian import core
from librarian.formats import Format
from librarian.formats.cover.evens import EvensCover
from librarian import core
from librarian.formats import Format
from librarian.formats.cover.evens import EvensCover
@@
-35,8
+35,11
@@
class EpubFormat(Format):
if cover is not None:
self.cover = cover
if cover is not None:
self.cover = cover
- def dc(self, tag):
- return self.doc.meta.get_one(DCNS(tag))
+ def dc(self, tag, multiple=False):
+ if multiple:
+ return ', '.join(self.doc.meta.get(DCNS(tag)))
+ else:
+ return self.doc.meta.get_one(DCNS(tag))
def build(self, ctx=None):
def build(self, ctx=None):
@@
-158,7
+161,7
@@
class EpubFormat(Format):
'Information about the resource',
'Publisher: %s' % self.dc('publisher'),
'Rights: %s' % self.dc('rights'),
'Information about the resource',
'Publisher: %s' % self.dc('publisher'),
'Rights: %s' % self.dc('rights'),
- 'Intended audience: %s' % self.dc('audience'),
+ 'Intended audience: %s' % self.dc('audience'
, multiple=True
),
self.dc('description'),
'Resource prepared using MIL/PEER editing platform.',
'Source available at %s' % ctx.source_url,
self.dc('description'),
'Resource prepared using MIL/PEER editing platform.',
'Source available at %s' % ctx.source_url,
@@
-357,7
+360,7
@@
EpubFormat.renderers.register(core.Div, 'img', DivImageR('img'))
class DivVideoR(Silent):
def render(self, element, ctx):
class DivVideoR(Silent):
def render(self, element, ctx):
- src =
'https://www.youtube.com/watch?v=%s'
% element.attrib.get('videoid', '')
+ src =
get_provider(element.attrib.get('provider'))['url']
% element.attrib.get('videoid', '')
return super(DivVideoR, self).render(element, Context(ctx, src=src))
def container(self, ctx):
return super(DivVideoR, self).render(element, Context(ctx, src=src))
def container(self, ctx):