Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2b44dbb

Browse files
committed
Honor 'Date': None in metadata
Allow removing the 'Date' metadata from output. Fix #17968
1 parent 4723dab commit 2b44dbb

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

lib/matplotlib/backends/backend_svg.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,10 @@ def _write_metadata(self, metadata):
338338

339339
# Special handling.
340340
date = metadata.get('Date', None)
341-
if date is not None:
341+
if date is None and 'Date' in metadata:
342+
# User explicitly set `Date` to `None`
343+
pass
344+
elif date is not None:
342345
if isinstance(date, str):
343346
dates = [date]
344347
elif isinstance(date, (datetime.datetime, datetime.date)):

lib/matplotlib/tests/test_backend_svg.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,20 @@ def test_svg_default_metadata(monkeypatch):
371371
# Type
372372
assert 'StillImage' in buf
373373

374+
# Now make sure all the default metadata can be cleared.
375+
with BytesIO() as fd:
376+
fig.savefig(fd, format='svg', metadata={'Date': None, 'Creator': None,
377+
'Format': None, 'Type': None})
378+
buf = fd.getvalue().decode()
379+
380+
# Creator
381+
assert mpl.__version__ not in buf
382+
# Date
383+
assert '1970-08-16' not in buf
384+
# Format
385+
assert 'image/svg+xml' not in buf
386+
# Type
387+
assert 'StillImage' not in buf
374388

375389
def test_svg_metadata():
376390
single_value = ['Coverage', 'Identifier', 'Language', 'Relation', 'Source',

0 commit comments

Comments
 (0)