Call RDF generation function generate_rdf_metadata
This commit is contained in:
+1
-1
@@ -1141,7 +1141,7 @@ def assert_meta(html, **meta):
|
||||
meta.setdefault('attachments', [])
|
||||
meta.setdefault('lang', None)
|
||||
meta.setdefault('custom', {})
|
||||
meta.setdefault('rdf_metadata_generator', generate_rdf_metadata)
|
||||
meta.setdefault('generate_rdf_metadata', generate_rdf_metadata)
|
||||
assert vars(FakeHTML(string=html).render().metadata) == meta
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -731,13 +731,13 @@ def test_default_rdf_metadata():
|
||||
|
||||
@assert_no_logs
|
||||
def test_custom_rdf_metadata():
|
||||
def rdf_metadata_generator(*args, **kwargs):
|
||||
def generate_rdf_metadata(*args, **kwargs):
|
||||
return b'TEST_METADATA'
|
||||
|
||||
pdf_document = FakeHTML(string='<body>test</body>').render()
|
||||
|
||||
pdf_document.metadata.title = None
|
||||
pdf_document.metadata.rdf_metadata_generator = rdf_metadata_generator
|
||||
pdf_document.metadata.generate_rdf_metadata = generate_rdf_metadata
|
||||
|
||||
pdf_bytes = pdf_document.write_pdf(
|
||||
pdf_variant='pdf/a-3b', pdf_identifier=b'example-bytes', uncompressed_pdf=True)
|
||||
|
||||
@@ -109,7 +109,7 @@ class DocumentMetadata:
|
||||
"""
|
||||
def __init__(self, title=None, authors= None, description=None, keywords=None,
|
||||
generator=None, created=None, modified=None, attachments=None,
|
||||
lang=None, custom=None, rdf_metadata_generator=None):
|
||||
lang=None, custom=None, generate_rdf_metadata=generate_rdf_metadata):
|
||||
#: The title of the document, as a string or :obj:`None`.
|
||||
#: Extracted from the ``<title>`` element in HTML
|
||||
#: and written to the ``/Title`` info field in PDF.
|
||||
@@ -157,7 +157,7 @@ class DocumentMetadata:
|
||||
self.custom = custom or {}
|
||||
#: Custom RDF metadata generator, which will replace the default generator.
|
||||
#: The function should return bytes containing an RDF XML.
|
||||
self.rdf_metadata_generator = rdf_metadata_generator or generate_rdf_metadata
|
||||
self.generate_rdf_metadata = generate_rdf_metadata
|
||||
|
||||
|
||||
class DiskCache:
|
||||
|
||||
@@ -27,7 +27,7 @@ def add_metadata(pdf, metadata, variant, version, conformance, compress):
|
||||
"""
|
||||
header = b'<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>'
|
||||
footer = b'<?xpacket end="r"?>'
|
||||
xml_data = metadata.rdf_metadata_generator(metadata, variant, version, conformance)
|
||||
xml_data = metadata.generate_rdf_metadata(metadata, variant, version, conformance)
|
||||
stream_content = b'\n'.join((header, xml_data, footer))
|
||||
extra = {'Type': '/Metadata', 'Subtype': '/XML'}
|
||||
metadata = pydyf.Stream([stream_content], extra, compress)
|
||||
@@ -36,9 +36,9 @@ def add_metadata(pdf, metadata, variant, version, conformance, compress):
|
||||
|
||||
|
||||
def generate_rdf_metadata(metadata, variant, version, conformance):
|
||||
"""Generate RDF metadata.
|
||||
"""Generate RDF metadata as a bytestring.
|
||||
|
||||
Might be replaced by DocumentMetadata.rdf_matadata_generator().
|
||||
Might be replaced by DocumentMetadata.rdf_metadata_generator().
|
||||
|
||||
"""
|
||||
namespace = f'pdf{variant}id'
|
||||
|
||||
Reference in New Issue
Block a user