Use VoteType in utils. Remove old functions of getting clan leader and discord manager election names.
This commit is contained in:
@@ -85,34 +85,6 @@ def get_quarter_name(config: DakinyConfig) -> str:
|
|||||||
return f"{get_datetime(current_cycle.term_start).year}-{current_cycle.name}"
|
return f"{get_datetime(current_cycle.term_start).year}-{current_cycle.name}"
|
||||||
|
|
||||||
|
|
||||||
def get_dm_election_name(config: DakinyConfig) -> str:
|
|
||||||
"""
|
|
||||||
creates the name of the discord manager election
|
|
||||||
|
|
||||||
Args:
|
|
||||||
config (DakinyConfig): Config sent to get_election_cycle_name
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
str: the name of the election
|
|
||||||
"""
|
|
||||||
|
|
||||||
return f"{get_election_name(config)}-dm"
|
|
||||||
|
|
||||||
|
|
||||||
def get_cl_election_name(config: DakinyConfig) -> str:
|
|
||||||
"""
|
|
||||||
creates the name of the clan leader election
|
|
||||||
|
|
||||||
Args:
|
|
||||||
config (DakinyConfig): Config sent to get_election_cycle_name
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
str: the name of the election
|
|
||||||
"""
|
|
||||||
|
|
||||||
return f"{get_election_name(config)}-cl"
|
|
||||||
|
|
||||||
|
|
||||||
def get_current_election_cycle(config: DakinyConfig) -> int:
|
def get_current_election_cycle(config: DakinyConfig) -> int:
|
||||||
"""
|
"""
|
||||||
Returns index for active election. An election is considered active between the election start and the term start.
|
Returns index for active election. An election is considered active between the election start and the term start.
|
||||||
@@ -173,9 +145,11 @@ def build_votes_str(config: DakinyConfig, guild: nextcord.Guild) -> str:
|
|||||||
|
|
||||||
votes: dict[int, int] = {}
|
votes: dict[int, int] = {}
|
||||||
|
|
||||||
|
election_name = get_election_name(config)
|
||||||
|
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
stmt = select(CouncilMembers).where(
|
stmt = select(CouncilMembers).where(
|
||||||
CouncilMembers.ElectionCycle == get_election_name(config)
|
CouncilMembers.ElectionCycle == election_name
|
||||||
)
|
)
|
||||||
|
|
||||||
for nominee in sorted(
|
for nominee in sorted(
|
||||||
@@ -184,7 +158,11 @@ def build_votes_str(config: DakinyConfig, guild: nextcord.Guild) -> str:
|
|||||||
):
|
):
|
||||||
votes[nominee.MemberId] = 0
|
votes[nominee.MemberId] = 0
|
||||||
|
|
||||||
stmt = select(Votes).where(Votes.ElectionCycle == get_election_name(config))
|
stmt = (
|
||||||
|
select(Votes)
|
||||||
|
.where(Votes.ElectionCycle == election_name)
|
||||||
|
.where(Votes.Type == VoteType.COUNCIL)
|
||||||
|
)
|
||||||
|
|
||||||
for vote in session.scalars(stmt):
|
for vote in session.scalars(stmt):
|
||||||
if vote.VotedForId is not None:
|
if vote.VotedForId is not None:
|
||||||
@@ -211,10 +189,12 @@ def build_highcouncil_votes_str(config: DakinyConfig, guild: nextcord.Guild) ->
|
|||||||
cl_votes: dict[int, int] = {}
|
cl_votes: dict[int, int] = {}
|
||||||
dm_votes: dict[int, int] = {}
|
dm_votes: dict[int, int] = {}
|
||||||
|
|
||||||
|
election_name = get_election_name(config)
|
||||||
|
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
stmt = (
|
stmt = (
|
||||||
select(CouncilMembers)
|
select(CouncilMembers)
|
||||||
.where(CouncilMembers.ElectionCycle == get_election_name(config))
|
.where(CouncilMembers.ElectionCycle == election_name)
|
||||||
.filter(CouncilMembers.ClanLeaderSpeechId.is_not(None))
|
.filter(CouncilMembers.ClanLeaderSpeechId.is_not(None))
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -224,7 +204,11 @@ def build_highcouncil_votes_str(config: DakinyConfig, guild: nextcord.Guild) ->
|
|||||||
):
|
):
|
||||||
cl_votes[nominee.MemberId] = 0
|
cl_votes[nominee.MemberId] = 0
|
||||||
|
|
||||||
stmt = select(Votes).where(Votes.ElectionCycle == get_cl_election_name(config))
|
stmt = (
|
||||||
|
select(Votes)
|
||||||
|
.where(Votes.ElectionCycle == election_name)
|
||||||
|
.where(Votes.Type == VoteType.CLANLEADER)
|
||||||
|
)
|
||||||
|
|
||||||
for vote in session.scalars(stmt):
|
for vote in session.scalars(stmt):
|
||||||
if vote.VotedForId is not None:
|
if vote.VotedForId is not None:
|
||||||
@@ -232,7 +216,7 @@ def build_highcouncil_votes_str(config: DakinyConfig, guild: nextcord.Guild) ->
|
|||||||
|
|
||||||
stmt = (
|
stmt = (
|
||||||
select(CouncilMembers)
|
select(CouncilMembers)
|
||||||
.where(CouncilMembers.ElectionCycle == get_election_name(config))
|
.where(CouncilMembers.ElectionCycle == election_name)
|
||||||
.filter(CouncilMembers.DiscordManagerSpeechId.is_not(None))
|
.filter(CouncilMembers.DiscordManagerSpeechId.is_not(None))
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -242,7 +226,11 @@ def build_highcouncil_votes_str(config: DakinyConfig, guild: nextcord.Guild) ->
|
|||||||
):
|
):
|
||||||
dm_votes[nominee.MemberId] = 0
|
dm_votes[nominee.MemberId] = 0
|
||||||
|
|
||||||
stmt = select(Votes).where(Votes.ElectionCycle == get_dm_election_name(config))
|
stmt = (
|
||||||
|
select(Votes)
|
||||||
|
.where(Votes.ElectionCycle == election_name)
|
||||||
|
.where(Votes.Type == VoteType.DISCORDMANAGER)
|
||||||
|
)
|
||||||
|
|
||||||
for vote in session.scalars(stmt):
|
for vote in session.scalars(stmt):
|
||||||
if vote.VotedForId is not None:
|
if vote.VotedForId is not None:
|
||||||
|
|||||||
Reference in New Issue
Block a user