Skip to content

Commit a10993c

Browse files
committed
get title, description from json for meta save
1 parent 68f887c commit a10993c

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

django/gsmap/models.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,20 @@ def screenshot(self):
155155
def thumbnail(self):
156156
return self.thumbnail_manual or self.thumbnail_generated
157157

158+
@property
159+
def title_data(self):
160+
try:
161+
return self.data['views'][0]['spec']['title']
162+
except KeyError:
163+
return self.title
164+
165+
@property
166+
def description_data(self):
167+
try:
168+
return self.data['views'][0]['spec']['description']
169+
except KeyError:
170+
return ''
171+
158172
def get_absolute_link(self):
159173
domain = Site.objects.get_current().domain
160174
proto = 'https' if settings.USE_HTTPS else 'http'
@@ -243,7 +257,9 @@ def save_meta(storage):
243257
domain = Site.objects.get_current().domain
244258
proto = 'https' if settings.USE_HTTPS else 'http'
245259
meta = f'''
246-
<meta property="og:title" content="{instance.title}">
260+
<meta property="og:title" content="{instance.title_data}">
261+
<meta property="og:description" content="{instance.description_data}">
262+
<meta property="og:type" content="website">
247263
<meta property="og:url" content="{proto}://{domain}{instance.get_absolute_url()}">
248264
<meta property="og:image" content="{proto}://{domain}/{instance.image_facebook()}">
249265
<meta name="twitter:image" content="{proto}://{domain}/{instance.image_twitter()}">
@@ -253,7 +269,7 @@ def save_meta(storage):
253269
if hasattr(settings, 'SAVE_SCREENSHOT_ENABLED') and settings.SAVE_SCREENSHOT_ENABLED is True:
254270
save_screenshot()
255271

256-
if instance.screenshot:
272+
if instance.data:
257273
storage = OverwriteStorage()
258274
if instance.permission is int(SnapshotPermission.PUBLIC):
259275
save_meta(storage)

0 commit comments

Comments
 (0)