Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions .github/workflows/collect-user-submission.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,15 @@ class IssueInfo:
gh_event_path: pydantic.FilePath
submission: Submission = pydantic.Field(default=None)

def __post_init_post_parse__(self):
with open(self.gh_event_path) as f:
self.data = json.load(f)

def create_submission(self):
self._get_inputs()
self._create_submission_input()
return self

def _get_inputs(self):
with open(self.gh_event_path) as f:
self.data = json.load(f)

self.author = self.data['issue']['user']['login']
self.title = self.data['issue']['title']
self.body = self.data['issue']['body']
Expand Down Expand Up @@ -78,6 +77,6 @@ def _create_submission_input(self):

if __name__ == '__main__':
issue = IssueInfo(gh_event_path=os.environ['GITHUB_EVENT_PATH']).create_submission()
inputs = issue.submission.dict()
inputs = issue.submission.model_dump_json()
with open('resource-gallery-submission-input.json', 'w') as f:
json.dump(inputs, f)
26 changes: 13 additions & 13 deletions portal/_extensions/gallery_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def build_from_items(items, filename, title='Gallery', subtitle=None, subtext=No
tag_class_str = ' '.join(tag_list_f)

author_strs = set()
institution_strs = set()
affiliation_strs = set()
for a in item['authors']:
author_name = a.get('name', 'Anonymous')
author_email = a.get('email', None)
Expand All @@ -88,20 +88,20 @@ def build_from_items(items, filename, title='Gallery', subtitle=None, subtext=No
_str = author_name
author_strs.add(_str)

institution_name = a.get('institution', None)
if institution_name:
institution_url = a.get('institution_url', None)
if institution_url:
_str = f'<a href="{institution_url}">{institution_name}</a>'
affiliation_name = a.get('affiliation', None)
if affiliation_name:
affiliation_url = a.get('affiliation_url', None)
if affiliation_url:
_str = f'<a href="{affiliation_url}">{affiliation_name}</a>'
else:
_str = institution_name
institution_strs.add(_str)
_str = affiliation_name
affiliation_strs.add(_str)

authors_str = f"<strong>Author:</strong> {', '.join(author_strs)}"
if institution_strs:
institutions_str = f"<strong>Institution:</strong> {' '.join(institution_strs)}"
if affiliation_strs:
affiliations_str = f"<strong>Affiliation:</strong> {' '.join(affiliation_strs)}"
else:
institutions_str = ''
affiliations_str = ''

ellipsis_str = '<a class="modal-btn"> ... more</a>'
short_description = truncate(item['description'], max_descr_len, ellipsis=ellipsis_str)
Expand All @@ -114,7 +114,7 @@ def build_from_items(items, filename, title='Gallery', subtitle=None, subtext=No
<h3 class="display-3">{item["title"]}</h3>
{authors_str}
<br/>
{institutions_str}
{affiliations_str}
<p class="my-2">{item['description']}</p>
<p class="my-2">{tags}</p>
<p class="mt-3 mb-0"><a href="{item["url"]}" class="btn btn-outline-primary btn-block">Visit Website</a></p>
Expand All @@ -133,7 +133,7 @@ def build_from_items(items, filename, title='Gallery', subtitle=None, subtext=No
<img src="{thumbnail}" class="gallery-thumbnail" />
<div class="container">
<a href="{item["url"]}" class="text-decoration-none"><h4 class="display-4 p-0">{item["title"]}</h4></a>
<p class="card-subtitle">{authors_str}<br/>{institutions_str}</p>
<p class="card-subtitle">{authors_str}<br/>{affiliations_str}</p>
<p class="my-2">{short_description}</p>
</div>
</div>
Expand Down
Loading