Skip to content

Commit

Permalink
Call RDF generation function generate_rdf_metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
liZe committed Jan 19, 2025
1 parent e4f9b7d commit 603295d
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
4 changes: 2 additions & 2 deletions tests/test_pdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions weasyprint/document.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -157,7 +157,7 @@ def __init__(self, title=None, authors= None, description=None, keywords=None,
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:
Expand Down
6 changes: 3 additions & 3 deletions weasyprint/pdf/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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'
Expand Down

0 comments on commit 603295d

Please sign in to comment.