41 lines
962 B
Python
41 lines
962 B
Python
"""
|
|
File contains util functions.
|
|
"""
|
|
|
|
from datetime import datetime
|
|
|
|
from config import DakinyConfig
|
|
|
|
|
|
def get_datetime(day: str) -> datetime:
|
|
"""
|
|
Takes in a string month and day and returns a datetime object of that Month/Day this year.
|
|
|
|
Args:
|
|
day (str): Month/Day in that format.
|
|
|
|
Returns:
|
|
datetime: Datetime representation of Month/Day.
|
|
"""
|
|
year = datetime.today().year
|
|
month = int(day.split("/")[0])
|
|
day = int(day.split("/")[1])
|
|
|
|
# ensure that year rolls over if current month is December and the next month is less than 12.
|
|
if datetime.today().month == 12 & month < 12:
|
|
year += 1
|
|
|
|
return datetime(year, month, day)
|
|
|
|
|
|
def get_election_cycle_name(config: DakinyConfig) -> str:
|
|
"""
|
|
Builds the unique name of the current election cycle
|
|
|
|
Returns:
|
|
str: the name of the election cycle
|
|
"""
|
|
# TODO finish
|
|
|
|
return f"vote-{election_start.year}-{election_cycle.name}"
|