Skip to content

Commit 452d7a5

Browse files
Added LBMS proposals per cycle stats
This really needs a rethink - but for now just add the LBMS stats.
1 parent 3c60336 commit 452d7a5

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/nsls2api/api/models/stats_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ class StatsModel(pydantic.BaseModel):
1313
beamline_count: int
1414
commissioning_proposal_count: int
1515
facility_data_health: bool
16-
nsls2_proposals_per_cycle: Optional[list[ProposalsPerCycleModel]] = []
16+
nsls2_proposals_per_cycle: Optional[list[ProposalsPerCycleModel]]
17+
lbms_proposals_per_cycle: Optional[list[ProposalsPerCycleModel]]
1718

1819

1920
class AboutModel(pydantic.BaseModel):

src/nsls2api/api/v1/stats_api.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ async def stats():
2424

2525
facility_data_health = await facility_service.is_healthy("nsls2")
2626

27+
# Get the NSLS-II proposals per cycle
2728
nsls2_proposals_per_cycle: list[ProposalsPerCycleModel] = []
28-
2929
nsls2_cycle_list = await facility_service.facility_cycles("nsls2")
3030
for cycle in nsls2_cycle_list:
3131
proposal_list = await proposal_service.fetch_proposals_for_cycle(cycle)
@@ -35,13 +35,25 @@ async def stats():
3535
)
3636
nsls2_proposals_per_cycle.append(model)
3737

38+
# Get the LBMS proposals per cycle
39+
lbms_proposals_per_cycle: list[ProposalsPerCycleModel] = []
40+
lbms_cycle_list = await facility_service.facility_cycles("lbms")
41+
for cycle in lbms_cycle_list:
42+
proposal_list = await proposal_service.fetch_proposals_for_cycle(cycle)
43+
if proposal_list is not None:
44+
model = ProposalsPerCycleModel(
45+
cycle=cycle, proposal_count=len(proposal_list)
46+
)
47+
lbms_proposals_per_cycle.append(model)
48+
3849
model = StatsModel(
3950
facility_count=facilities,
4051
beamline_count=beamlines,
4152
proposal_count=total_proposals,
4253
commissioning_proposal_count=commissioning,
4354
facility_data_health=facility_data_health,
4455
nsls2_proposals_per_cycle=nsls2_proposals_per_cycle,
56+
lbms_proposals_per_cycle=lbms_proposals_per_cycle,
4557
)
4658
return model
4759

0 commit comments

Comments
 (0)