def about_project_preload(context, request): context = default_preload(context, request) query_args = url_params(request) project_id = query_args['id'][0] project_json = ProjectCache.get(project_id) if project_json is not None: context['title'] = project_json['project_name'] + ' | DemocracyLab' context['description'] = project_json['project_short_description'] or project_json['project_description'][:300] if 'project_thumbnail' in project_json: context['og_image'] = project_json['project_thumbnail']['publicUrl'] else: print('Failed to preload project info, no cache entry found: ' + project_id) return context
def recache(self, recache_linked=False): hydrated_project = self._hydrate_to_json() ProjectCache.refresh(self, hydrated_project) self.generate_full_text() if recache_linked: self.update_linked_items()
def hydrate_to_json(self): return ProjectCache.get(self) or ProjectCache.refresh( self, self._hydrate_to_json())