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
예제 #2
0
 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()
예제 #3
0
 def hydrate_to_json(self):
     return ProjectCache.get(self) or ProjectCache.refresh(
         self, self._hydrate_to_json())