Make site_name optional of OG metadata

This commit is contained in:
Thomas Sileo 2022-07-31 15:27:12 +02:00
parent 3b74ecff29
commit b557035eac
2 changed files with 6 additions and 4 deletions

View file

@ -285,7 +285,9 @@
</div>
<div>
<a href="{{ og_meta.url }}">{{ og_meta.title }}</a>
<small style="display:block;">{{ og_meta.site_name }}</small>
{% if og_meta.site_name %}
<small style="display:block;">{{ og_meta.site_name }}</small>
{% endif %}
</div>
{% endif %}
</div>

View file

@ -17,7 +17,7 @@ class OpenGraphMeta(BaseModel):
title: str
image: str
description: str
site_name: str
site_name: str | None = None
def _scrap_og_meta(html: str) -> OpenGraphMeta | None:
@ -29,10 +29,10 @@ def _scrap_og_meta(html: str) -> OpenGraphMeta | None:
raw = {}
for field in OpenGraphMeta.__fields__.keys():
og_field = f"og:{field}"
if not ogs.get(og_field):
if not ogs.get(og_field) and field != "site_name":
return None
raw[field] = ogs[og_field]
raw[field] = ogs.get(og_field, None)
return OpenGraphMeta.parse_obj(raw)