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}"
|
||||
|
||||
|
||||
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:
|
||||
"""
|
||||
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] = {}
|
||||
|
||||
election_name = get_election_name(config)
|
||||
|
||||
with Session(engine) as session:
|
||||
stmt = select(CouncilMembers).where(
|
||||
CouncilMembers.ElectionCycle == get_election_name(config)
|
||||
CouncilMembers.ElectionCycle == election_name
|
||||
)
|
||||
|
||||
for nominee in sorted(
|
||||
@@ -184,7 +158,11 @@ def build_votes_str(config: DakinyConfig, guild: nextcord.Guild) -> str:
|
||||
):
|
||||
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):
|
||||
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] = {}
|
||||
dm_votes: dict[int, int] = {}
|
||||
|
||||
election_name = get_election_name(config)
|
||||
|
||||
with Session(engine) as session:
|
||||
stmt = (
|
||||
select(CouncilMembers)
|
||||
.where(CouncilMembers.ElectionCycle == get_election_name(config))
|
||||
.where(CouncilMembers.ElectionCycle == election_name)
|
||||
.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
|
||||
|
||||
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):
|
||||
if vote.VotedForId is not None:
|
||||
@@ -232,7 +216,7 @@ def build_highcouncil_votes_str(config: DakinyConfig, guild: nextcord.Guild) ->
|
||||
|
||||
stmt = (
|
||||
select(CouncilMembers)
|
||||
.where(CouncilMembers.ElectionCycle == get_election_name(config))
|
||||
.where(CouncilMembers.ElectionCycle == election_name)
|
||||
.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
|
||||
|
||||
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):
|
||||
if vote.VotedForId is not None:
|
||||
|
||||
Reference in New Issue
Block a user