Skip to content

Commit 6eae344

Browse files
authored
[patch] support list of eic and editors (#290)
* [patch] support list of eic and editors * Add test * Update changelog * whoops, fix changelog
1 parent 73d1bd2 commit 6eae344

File tree

4 files changed

+40
-2
lines changed

4 files changed

+40
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ See [GitHub releases](https://github.com/pyOpenSci/pyosMeta/releases) page for a
66

77
## [Unreleased]
88

9+
* Fix: support multiple editors and EiCs (@banesullivan, #290)
10+
911
## [v1.7.1] - 2025-05-20
1012

1113
* Fix: remove sigstore from pypi publish workflow (@lwasser, #286)

src/pyosmeta/models/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,8 @@ class ReviewModel(BaseModel):
254254
repository_link: str = Field(..., alias="repository_link_(if_existing)")
255255
version_submitted: Optional[str] = None
256256
categories: Optional[list[str]] = None
257-
editor: ReviewUser | None = None
258-
eic: ReviewUser | None = None
257+
editor: ReviewUser | list[ReviewUser] | None = None
258+
eic: ReviewUser | list[ReviewUser] | None = None
259259
reviewers: list[ReviewUser] = Field(default_factory=list)
260260
archive: str | None = None
261261
version_accepted: str | None = None
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
Submitting Author: Fakename (@fakeauthor)
2+
All current maintainers: (@fakeauthor1, @fakeauthor2)
3+
Package Name: fake_package
4+
One-Line Description of Package: A fake python package
5+
Repository Link: https://example.com/fakeauthor1/fake_package
6+
Version submitted: v1.0.0
7+
EiC: @fakeeic1, @fakeeic2 , @fakeeic3
8+
Editor: @fakeeditor1 , @fakeeditor2, @fakeeditor3
9+
Reviewers: @fakereviewer1 , @fakereviewer2, @fakereviewer3
10+
Reviews Expected By: fake date
11+
Archive: [![DOI](https://example.com/fakearchive)](https://zenodo.org/records/8415866)
12+
JOSS DOI: [![DOI](https://example.com/fakearchive)](https://doi.org/10.21105/joss.01450)
13+
Version accepted: 2.0.0 ([repo](https://example.com/fakeauthor1/fake_package/releases/tag/v2.0.0), [pypi](https://pypi.org/project/fake_project/2.0.0), [archive](https://example.com/fakearchive))
14+
Date accepted (month/day/year): 06/29/2024
15+
16+
---
17+
18+
## Scope
19+
20+
- [x] I agree to abide by [pyOpenSci's Code of Conduct][PyOpenSciCodeOfConduct] during the review process and in maintaining my package after should it be accepted.
21+
- [x] I have read and will commit to package maintenance after the review as per the [pyOpenSci Policies Guidelines][Commitment].
22+
(etc)
23+
24+
## Community Partnerships
25+
26+
- [ ] etc
27+
- [ ] aaaaaa

tests/integration/test_parse_issues.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,12 @@ def test_missing_community_partnerships(caplog, process_issues, data_file):
134134
with caplog.at_level(logging.WARNING):
135135
review = process_issues.parse_issue(review)
136136
assert "## Community Partnerships not found in the list" in caplog.text
137+
138+
139+
def test_multiple_editors_and_eic(process_issues, data_file):
140+
"""
141+
Test handling of issues with multiple editors and EICs.
142+
"""
143+
review = data_file("reviews/multiple_editors.txt", True)
144+
review = process_issues.parse_issue(review)
145+
assert review.package_name == "fake_package"

0 commit comments

Comments
 (0)