diff --git a/calisphere/templates/calisphere/component-metadata.html b/calisphere/templates/calisphere/component-metadata.html index 58646a8f..0c26707f 100644 --- a/calisphere/templates/calisphere/component-metadata.html +++ b/calisphere/templates/calisphere/component-metadata.html @@ -1,7 +1,7 @@
Title
-
{{ item.selectedComponent.label }}
+ {% include "calisphere/component-metadata-dd.html" with value=item.selectedComponent.title %} {% if item.selectedComponent.alternativeTitle %}
Alternative Title
diff --git a/calisphere/views.py b/calisphere/views.py index 310baae9..84b878b0 100644 --- a/calisphere/views.py +++ b/calisphere/views.py @@ -302,6 +302,8 @@ def _fixid(id): item['harvest_type'] = 'hosted' structmap_url = item['structmap_url'].replace( 's3://static', 'https://s3.amazonaws.com/static') + if settings.UCLDC_STRUCTMAP2: + structmap_url = structmap_url.replace('/media_json/','/media_json_2/') structmap_data = json_loads_url(structmap_url) if 'structMap' in structmap_data: @@ -315,16 +317,24 @@ def _fixid(id): component['selected'] = True if 'format' in component: item['contentFile'] = getHostedContentFile(component) + + #if 'metadata' in component and component.get('version') == '2.0': + #if settings.UCLDC_STRUCTMAP2: + if not('metadata' in component): + metadata = component + else: + metadata = component["metadata"] # remove emptry strings from list - for k, v in list(component.items()): + for k, v in list(metadata.items()): if isinstance(v, list): if isinstance(v[0], str): - component[k] = [ + metadata[k] = [ name for name in v if name and name.strip() ] # remove empty lists and empty strings from dict item['selectedComponent'] = dict( - (k, v) for k, v in list(component.items()) if v) + (k, v) for k, v in list(metadata.items()) if v) + # simple object else: item['selected'] = True # if parent content file, get it @@ -335,6 +345,7 @@ def _fixid(id): else: component = structmap_data['structMap'][0] item['contentFile'] = getHostedContentFile(component) + item['structMap'] = structmap_data['structMap'] # single or multi-format object @@ -426,6 +437,7 @@ def _fixid(id): return render( request, 'calisphere/itemViewer.html', { 'q': '', + 'facet': {}, 'item': item_solr_search.results[0], 'item_solr_search': item_solr_search, 'meta_image': meta_image, diff --git a/env.local.in b/env.local.in index 05487052..f5b94ab4 100644 --- a/env.local.in +++ b/env.local.in @@ -9,3 +9,4 @@ export UCLDC_IIIF export UCLDC_NUXEO_THUMBS export UCLDC_REDIS_URL=redis://localhost:6379/2 export UCLDC_METADATA_SUMMARY +export UCLDC_STRUCTMAP2 diff --git a/public_interface/settings.py b/public_interface/settings.py index 07ba584b..db9dfd6e 100644 --- a/public_interface/settings.py +++ b/public_interface/settings.py @@ -51,6 +51,8 @@ def getenv(variable, default): UCLDC_REDIS_URL = getenv('UCLDC_REDIS_URL', False) UCLDC_DISQUS = getenv('UCLDC_DISQUS', 'test') # set to 'prod' to use the prod disqus shortcode value +UCLDC_STRUCTMAP2 = getenv('UCLDC_STRUCTMAP2', False) + UCLDC_METADATA_SUMMARY = getenv('UCLDC_METADATA_SUMMARY', False) RECAPTCHA_PUBLIC_KEY = getenv('RECAPTCHA_PUBLIC_KEY', '')