Skip to content

Commit 2c643c3

Browse files
authored
Merge pull request #324 from semantic-systems/develop
Indicate Open/Closed Research using Lock Icons
2 parents 8dff3b5 + 7bd4765 commit 2c643c3

File tree

9 files changed

+110
-19
lines changed

9 files changed

+110
-19
lines changed

sources/huggingface_models.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
def map_entry_to_model(record) -> CreativeWork:
1313
"""Convert a single Huggingface model record into a :class:`CreativeWork`."""
1414

15-
print(record)
16-
1715
model = CreativeWork() # thing -> CreativeWork
1816

1917
model.identifier = record.get("id", "") or record.get("modelId", "")

sources/openaire_products.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,19 @@ def map_digital_obj(source: str, hit: dict) -> Union[Article, CreativeWork, Data
8686
children_instance = oaf_result.get('children', {}).get('instance', {})
8787
if isinstance(children_instance, dict):
8888
digitalObj.url = children_instance.get('webresource', {}).get('url', {}).get('$', '')
89+
# Add direct PDF URL if access is open
90+
access_right = children_instance.get('accessright', {}).get('@classid', '').upper()
91+
pdf_url = children_instance.get('webresource', {}).get('url', {}).get('$', '')
92+
if access_right in ['OPEN', 'OPEN ACCESS'] and pdf_url.endswith('.pdf'):
93+
digitalObj.encoding_contentUrl = pdf_url
8994
if isinstance(children_instance, list):
9095
digitalObj.url = next(iter(children_instance)).get('webresource', {}).get('url', {}).get('$', '')
96+
# Add direct PDF URL if access is open
97+
first_instance = next(iter(children_instance))
98+
access_right = first_instance.get('accessright', {}).get('@classid', '').upper()
99+
pdf_url = first_instance.get('webresource', {}).get('url', {}).get('$', '')
100+
if access_right in ['OPEN', 'OPEN ACCESS'] and pdf_url.endswith('.pdf'):
101+
digitalObj.encoding_contentUrl = pdf_url
91102

92103
keywords = oaf_result.get('subject', [])
93104
if isinstance(keywords, list):
@@ -100,6 +111,8 @@ def map_digital_obj(source: str, hit: dict) -> Union[Article, CreativeWork, Data
100111
digitalObj.datePublished = oaf_result.get('dateofacceptance', {}).get("$", "")
101112
digitalObj.license = oaf_result.get('bestaccessright', {}).get('@classid', '')
102113

114+
115+
103116
authors = oaf_result.get("creator", [])
104117
if isinstance(authors, dict):
105118
_author = Author()

sources/openalex_publications.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ def map_digital_obj(source: str, hit: dict) -> Union[Article, CreativeWork]:
4949
publication.description = utils.generate_string_from_keys(abstract_inverted_index) # Generate the string using keys from the dictionary
5050
publication.abstract = publication.description
5151

52+
publication.encoding_contentUrl = hit.get("primary_location", {}).get("pdf_url", "")
53+
5254
authorships = hit.get("authorships", [])
5355
for authorship in authorships:
5456
author = authorship.get("author", {})

sources/re3data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def search(source: str, search_term: str, results: Dict, failed_sources: List):
3131
failed_sources=failed_sources
3232
)
3333

34-
print(f"{search_results=}")
34+
# print(f"{search_results=}")
3535

3636
repositories = search_results.get('list', {}).get('repository', [])
3737
if isinstance(repositories, dict):
923 Bytes
Loading

static/images/icons/open_lock.png

943 Bytes
Loading

templates/partials/search-results/publications.html

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,35 @@
99
<div class="col-11 fs-6">
1010
<div class="row mb-2">
1111
<div class="col-9 fs-6">
12-
{% if publication.identifier == '' %}
12+
{% if publication.identifier == '' %}
1313
<span class="text-secondary fw-bold publication_name">
14-
{{publication.name}}</span>
14+
{{ publication.name }}
15+
{% if publication.encoding_contentUrl %}
16+
<img src="{{ url_for('static', filename='images/icons/open_lock.png') }}"
17+
alt="open" class="ms-1"
18+
style="height:0.75rem;position:relative;top:-1px;">
1519
{% else %}
20+
<img src="{{ url_for('static', filename='images/icons/closed_lock.png') }}"
21+
alt="closed" class="ms-1"
22+
style="height:0.75rem;position:relative;top:-1px;">
23+
{% endif %}
24+
</span>
25+
{% else %}
1626
<a class="text-secondary fw-bold publication_name"
17-
href="/publication-details/{{publication | format_digital_obj_url('source-name','source-id', 'doi')}}"
18-
target='_blank'><i class="pull-left bi bi-link-45deg"></i>&nbsp;{{publication.name}}</a>
27+
href="/publication-details/{{ publication | format_digital_obj_url('source-name','source-id','doi') }}"
28+
target="_blank">
29+
<i class="pull-left bi bi-link-45deg"></i>&nbsp;{{ publication.name }}
30+
{% if publication.encoding_contentUrl %}
31+
<img src="{{ url_for('static', filename='images/icons/open_lock.png') }}"
32+
alt="open" class="ms-1"
33+
style="height:0.75rem;position:relative;top:-1px;">
34+
{% else %}
35+
<img src="{{ url_for('static', filename='images/icons/closed_lock.png') }}"
36+
alt="closed" class="ms-1"
37+
style="height:0.75rem;position:relative;top:-1px;">
1938
{% endif %}
39+
</a>
40+
{% endif %}
2041
</div>
2142
<div class="col-3 text-end ">
2243
{% for source in publication.source %}

templates/publication-details.html

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,20 @@
2020
</div>
2121
<div class="row border-bottom pb-4">
2222
<div class="col-9 text-start">
23-
<h3>{{publication.name}}</h3>
23+
<h3 class="d-inline">{{publication.name}}</h3>
24+
{% if publication.encoding_contentUrl %}
25+
<img src="{{ url_for('static', filename='images/icons/open_lock.png') }}"
26+
alt="PDF available"
27+
title="Full text PDF available"
28+
class="ms-2"
29+
style="height:1rem;position:relative; top:-4px;">
30+
{% else %}
31+
<img src="{{ url_for('static', filename='images/icons/closed_lock.png') }}"
32+
alt="PDF not available"
33+
title="Full text PDF not available"
34+
class="ms-2"
35+
style="height:1rem;position:relative; top:-4px;">
36+
{% endif %}
2437
<div class="py-2">
2538
{% for keyword in publication.keywords %}
2639
<span class="badge bg-pill bg-secondary">{{keyword}}</span>
@@ -39,6 +52,12 @@ <h3>{{publication.name}}</h3>
3952
<span class="fw-bold">Publication Date:</span>
4053
<span>{{publication.datePublished}}</span>
4154
</span>
55+
{% if publication.encoding_contentUrl %}
56+
<span class="pe-4">
57+
<span class="fw-bold">PDF:</span>
58+
<a href="{{ publication.encoding_contentUrl }}" target="_blank">{{ publication.encoding_contentUrl }}</a>
59+
</span>
60+
{% endif %}
4261
</div>
4362
</div>
4463
<div class="col-3 d-flex justify-content-end">
@@ -72,7 +91,7 @@ <h3>{{publication.name}}</h3>
7291
<div class="card me-4 shadow-bottom-right rounded-extra solid-border align-items-center">
7392
<div class="card-body">
7493
<a href="#abstract" class="btn">Abstract</a>
75-
<a href="#supplemental-material" class="btn text-start">Supplemental Material</a>
94+
<!-- <a href="#supplemental-material" class="btn text-start">Supplemental Material</a> -->
7695
<a href="#references" class="btn">References</a>
7796
<a href="#cited-by" class="btn">Cited by</a>
7897
</div>
@@ -103,6 +122,7 @@ <h3>{{publication.name}}</h3>
103122
{{publication.abstract}}
104123
</div>
105124

125+
<!--
106126
<div class="d-flex p-2 bd-highlight pt-4" id="supplemental-material">
107127
<span class="fw-bold fs-6">SUPPLEMENTAL MATERIAL</span>
108128
</div>
@@ -113,6 +133,8 @@ <h3>{{publication.name}}</h3>
113133
<i class="bi bi-hourglass-split"></i>
114134
</div>
115135
</div>
136+
-->
137+
116138
<!-- <div class="card shadow-bottom-right rounded-extra solid-border mb-3">
117139
<div class="card-body">
118140
<span class="bi-file-earmark-excel-fill pe-2 fs-5"></span>dataset referenced in the paper
@@ -136,15 +158,15 @@ <h3>{{publication.name}}</h3>
136158
<div class="d-flex p-2 bd-highlight pt-4" id="references">
137159
<span class="fw-bold fs-6">REFERENCES ({{publication.referenceCount}}) <i
138160
class="bi bi-info-circle-fill text-secondary" data-bs-toggle="tooltip"
139-
data-bs-placement="top" title="Retrieved from CrossRef"></i></span>
161+
data-bs-placement="top" title="Retrieved from CrossRef and OpenCitations"></i></span>
140162
</div>
141163
<div class="d-flex p-2 bd-highlight fs-6 border-bottom pb-4" id="references_block">
142164
<button type="button" class="btn btn-outline-secondary" id="btn-load-references">Load</button>
143165
</div>
144166
<div class="d-flex p-2 bd-highlight pt-4" id="cited-by">
145167
<span class="fw-bold fs-6">CITATIONS ({{publication.citationCount}}) <i
146168
class="bi bi-info-circle-fill text-secondary" data-bs-toggle="tooltip"
147-
data-bs-placement="top" title="Retrieved from Semantic Scholar"></i></span>
169+
data-bs-placement="top" title="Retrieved from Semantic Scholar and OpenCitations"></i></span>
148170
</div>
149171
<div class="d-flex p-2 bd-highlight fs-6 border-bottom pb-4" id="citations_block">
150172
<button type="button" class="btn btn-outline-secondary" id="btn-load-citations">Load</button>
@@ -200,6 +222,7 @@ <h3>{{publication.name}}</h3>
200222
<button type="button" class="btn btn-outline-secondary" id="btn-load-recommendations">Load</button>
201223
</div>
202224

225+
<!--
203226
<div class=" d-flex p-2 bd-highlight pt-4">
204227
<span class="fw-bold fs-6">FAIR ASSESSMENT</span>
205228
</div>
@@ -221,6 +244,7 @@ <h3>{{publication.name}}</h3>
221244
<i class="bi bi-hourglass-split"></i>
222245
</div>
223246
</div>
247+
-->
224248

225249
</div>
226250
</div>

templates/researcher-details.html

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,21 @@ <h3>{{researcher.name}}</h3>
5252
{% endwith %}
5353
</div>
5454
<div class="col-5 d-flex justify-content-end">
55+
{% if researcher.works_count %}
5556
<div class="summary-block p-2 ms-3">
5657
<i class="bi bi-book fs-4"></i>
5758
<div class="fs-7 my-1">Publications</div>
58-
<div class="fs-5 fw-bold">{{researcher.works_count}}</div>
59+
<div class="fs-5 fw-bold">{{ researcher.works_count }}</div>
5960
</div>
60-
<div class="summary-block p-2 ms-3">
61+
{% endif %}
62+
{% if researcher.cited_by_count %}
63+
<div class="summary-block p-2 ms-3"></div>
6164
<i class="bi bi-chat-quote fs-4"></i>
6265
<div class="fs-7 my-1">Citations</div>
63-
<div class="fs-5 fw-bold">{{researcher.cited_by_count}}</div>
66+
<div class="fs-5 fw-bold">{{ researcher.cited_by_count }}</div>
6467
</div>
68+
{% endif %}
69+
<!--
6570
<div class="summary-block p-2 ms-3">
6671
<i class="bi bi-eye fs-4"></i>
6772
<div class="fs-7 my-1">Views</div>
@@ -72,9 +77,12 @@ <h3>{{researcher.name}}</h3>
7277
<div class="fs-7 my-1">Saved</div>
7378
<div class="fs-5 fw-bold">---</div>
7479
</div>
80+
-->
7581
</div>
7682
<!-- <div class="row border-bottom mt-4"></div> -->
7783
</div>
84+
85+
<!--
7886
<div class="row pb-2">
7987
<div class="d-flex p-2 justify-content-between">
8088
<div class="fs-6 fw-bold">About</div>
@@ -85,6 +93,7 @@ <h3>{{researcher.name}}</h3>
8593
<div class="d-flex p-2 fs-6 researcher-about-me">
8694
</div>
8795
</div>
96+
-->
8897

8998
<div class="row pt-2">
9099
<div class="col-3 justify-content-start">
@@ -178,13 +187,15 @@ <h3>{{researcher.name}}</h3>
178187
<span class="visually-hidden">Publications</span>
179188
</button>
180189
</li>
190+
<!--
181191
<li class="nav-item" role="presentation">
182192
<button class="nav-link position-relative" id="projects-tab" data-bs-toggle="tab"
183193
data-bs-target="#projects" type="button" role="tab" aria-controls="projects"
184194
aria-selected="false"><i class="px-1 bi-database-fill-gear"></i>Projects
185195
<span class="visually-hidden">Projects</span>
186196
</button>
187197
</li>
198+
-->
188199
</ul>
189200
</div>
190201
</div>
@@ -208,15 +219,35 @@ <h3>{{researcher.name}}</h3>
208219
<div class="col-12 fs-6">
209220
<div class="row mb-2">
210221
<div class="col-9 fs-6">
211-
{% if publication.identifier == '' %}
222+
{% if publication.identifier == '' %}
212223
<span class="text-secondary fw-bold publication_name">
213-
{{publication.name}}</span>
224+
{{ publication.name }}
225+
{% if publication.encoding_contentUrl %}
226+
<img src="{{ url_for('static', filename='images/icons/open_lock.png') }}"
227+
alt="open" class="ms-1"
228+
style="height:0.75rem;position:relative;top:-2px;">
214229
{% else %}
230+
<img src="{{ url_for('static', filename='images/icons/closed_lock.png') }}"
231+
alt="closed" class="ms-1"
232+
style="height:0.75rem;position:relative;top:-2px;">
233+
{% endif %}
234+
</span>
235+
{% else %}
215236
<a class="text-secondary fw-bold publication_name"
216-
href="/publication-details/{{publication | format_digital_obj_url('source-name','source-id', 'doi')}}"
217-
target='_blank'><i
218-
class="pull-left bi bi-link-45deg"></i>&nbsp;{{publication.name}}</a>
237+
href="/publication-details/{{ publication | format_digital_obj_url('source-name','source-id','doi') }}"
238+
target="_blank">
239+
<i class="pull-left bi bi-link-45deg"></i>&nbsp;{{ publication.name }}
240+
{% if publication.encoding_contentUrl %}
241+
<img src="{{ url_for('static', filename='images/icons/open_lock.png') }}"
242+
alt="open" class="ms-1"
243+
style="height:0.75rem;position:relative;top:-2px;">
244+
{% else %}
245+
<img src="{{ url_for('static', filename='images/icons/closed_lock.png') }}"
246+
alt="closed" class="ms-1"
247+
style="height:0.75rem;position:relative;top:-2px;">
219248
{% endif %}
249+
</a>
250+
{% endif %}
220251
</div>
221252
<div class="col-3 text-end ">
222253
{% for source in publication.source %}
@@ -286,9 +317,11 @@ <h3>{{researcher.name}}</h3>
286317
</div>
287318
{% endfor %}
288319
</div>
320+
<!--
289321
<div class="tab-pane fade" id="projects" role="tabpanel" aria-labelledby="projects-tab">
290322
<span class="fs-7">Coming Soon ... </span>
291323
</div>
324+
-->
292325
</div>
293326
</div>
294327

0 commit comments

Comments
 (0)