X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=engine%2Fpage.py;h=850aa7cf66b7784b85e379f95f24b712932339ec;hb=3238ceab34551a01520cba126df71eeb89c95676;hp=ad671edc44ef5fb083a77e26982aadf76049a2e7;hpb=19ec09726b0265b30fb756c405c47dc789983256;p=unfold.git diff --git a/engine/page.py b/engine/page.py index ad671edc..850aa7cf 100644 --- a/engine/page.py +++ b/engine/page.py @@ -58,27 +58,32 @@ class Page: def load_metadata(self, request): - manifold_api_session_auth = request.session['manifold']['auth'] - manifold_api = ManifoldAPI(auth=manifold_api_session_auth) + if 'metadata' not in request.session.keys(): + manifold_api_session_auth = request.session['manifold']['auth'] + manifold_api = ManifoldAPI(auth=manifold_api_session_auth) - fields = ['table', 'column.column', - 'column.description','column.header', 'column.title', - 'column.unit', 'column.info_type', - 'column.resource_type', 'column.value_type', - 'column.allowed_values', 'column.platforms.platform', - 'column.platforms.platform_url'] + fields = ['table', 'column.column', + 'column.description','column.header', 'column.title', + 'column.unit', 'column.info_type', + 'column.resource_type', 'column.value_type', + 'column.allowed_values', 'column.platforms.platform', + 'column.platforms.platform_url'] - results = manifold_api.Get('metadata:table', [], [], fields) + results = manifold_api.Get('metadata:table', [], [], fields) - for res in results: - method = res['table'] - self._metadata[method] = res + for res in results: + method = res['table'] + self._metadata[method] = res + + request.session['metadata'] = self._metadata + self._metadata_javascript = "all_headers=" + json.dumps(self._metadata) + ";" + self.add_js_chunks(self._metadata_javascript) + else: + self._metadata = request.session['metadata'] - request.session['metadata'] = self._metadata self._metadata_javascript = "all_headers=" + json.dumps(self._metadata) + ";" self.add_js_chunks(self._metadata_javascript) - def metadata_get_fields(self, method): return self._metadata[method]['column'].sort()