Compare commits

...
13 Commits
Author SHA1 Message Date
imcompiling 0dcdd038b8 Make the VoteType StrEnum and edit column in database to enforce only 3 values.
build_develop / build (push) Successful in 1m21s
2024-05-18 23:08:01 -04:00
imcompiling eb5d465ac9 Merge branch 'main' into 49--view-votes-can't-see-HC-elections
build_develop / build (push) Failing after 16s
2024-05-18 22:41:11 -04:00
imcompiling eb1c87fbf4 install sqlite3 onto container. Using it a lot for debugging/fixes.
build_latest / build (push) Successful in 1m29s
build_release / build (push) Successful in 22s
2024-05-18 22:38:57 -04:00
imcompiling cbd73a104e Merge branch '61-Create-virtual-environment-and-update-python-version' 2024-05-18 22:34:35 -04:00
imcompiling 95ad47368c Remove requirements.txt
build_develop / build (push) Successful in 22s
2024-05-18 22:34:13 -04:00
imcompiling dea3f7cabf Update dockerfile to use poetry for dependencies.
build_develop / build (push) Successful in 1m35s
Decided to just use poetry to just export requirements instead of building package.
2024-05-18 22:29:18 -04:00
imcompiling 6a71e9ab1d Add poetry for dependency management.
Update python version.
Using virtual environment in vscode.
2024-05-18 21:56:11 -04:00
imcompiling bc56830396 Merge branch '49--view-votes-can't-see-HC-elections' of https://gitea.cheezers.org/imcompiling/dakiny-bot into 49--view-votes-can't-see-HC-elections
build_develop / build (push) Failing after 17s
2024-05-18 16:36:03 -04:00
imcompiling 1d14f8171d Add vote type to one statement. 2024-05-18 16:34:33 -04:00
imcompiling 2efd380a7e Add VoteType Enum. 2024-05-18 16:26:11 -04:00
imcompiling 475170025a Edit database to add a type field to Votes. 2024-05-18 16:25:19 -04:00
imcompiling f4f3bfe103 Edit database to add a type field to Votes.
build_develop / build (push) Failing after 18s
2024-05-18 15:39:13 -04:00
imcompiling 6827658b4a Change sqlalchemy req.
build_latest / build (push) Successful in 1m2s
build_develop / build (push) Successful in 25s
2024-05-17 23:41:57 -04:00
7 changed files with 38 additions and 17 deletions
+1
View File
@@ -105,6 +105,7 @@ venv/
ENV/
env.bak/
venv.bak/
poetry.lock
# Spyder project settings
.spyderproject
+4 -7
View File
@@ -1,22 +1,19 @@
FROM python:3.10.6-slim
FROM python:3.11.9-slim
# install dependencies
RUN apt-get update && apt-get -y upgrade && apt-get -y install git
RUN pip install --upgrade pip
RUN apt-get update && apt-get -y upgrade && apt-get -y install git sqlite3
WORKDIR /home
COPY requirements.txt requirements.txt
COPY config.py config.py
COPY main.py main.py
COPY utils.py utils.py
COPY pyproject.toml pyproject.toml
COPY classes classes/
COPY cogs cogs/
COPY database_setup database_setup/
RUN pip install -r requirements.txt
RUN pip install --upgrade pip && pip install poetry && poetry export -f requirements.txt --output requirements.txt && pip install -r requirements.txt
CMD ["python3", "-u", "./main.py"]
+6 -1
View File
@@ -22,6 +22,7 @@ from database_setup.sql_data_classes import (
)
from utils import (
TEMPLATES_DIR,
VoteType,
build_highcouncil_votes_str,
build_votes_str,
edit_clan_council_info,
@@ -294,7 +295,11 @@ class ElectionCycle:
session.commit()
# add the highcouncil role to everyone with 3 or more votes. set elected to true in database
stmt = select(Votes.VotedForId).where(Votes.ElectionCycle == election_name)
stmt = (
select(Votes.VotedForId)
.where(Votes.ElectionCycle == election_name)
.where(Votes.Type == VoteType.COUNCIL.value)
)
vote_count = collections.Counter(session.scalars(stmt))
for user_id, votes in vote_count.items():
+2 -1
View File
@@ -25,8 +25,9 @@ CREATE TABLE Votes(
ElectionCycle varchar(30) not null,
VoterId bigint unsigned not null,
VotedForId bigint unsigned,
Type varchar(14) not null DEFAULT 'council' check("Type" in ('council', 'discordmanager', 'clanleader')),
FOREIGN KEY (ElectionCycle) REFERENCES ElectionInformation(ElectionCycle),
PRIMARY KEY (ElectionCycle, VoterId)
PRIMARY KEY (ElectionCycle, VoterId, Type)
);
CREATE TABLE UserBirthday (
+22
View File
@@ -0,0 +1,22 @@
[tool.poetry]
name = "dakiny-bot"
version = "0.1.0"
description = "Dakiny's Discord Bot."
authors = ["imcompiling <[email protected]>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.11"
gitpython = "3.1.43"
fastapi = "0.111.0"
hydra-core = "1.3.2"
nextcord = "2.4.2"
pandas = "1.5.2"
python-dotenv = "1.0.0"
pytz = "2022.7.1"
sqlalchemy = "1.4.46"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
-8
View File
@@ -1,8 +0,0 @@
nextcord==2.4.2
python-dotenv==1.0.0
pytz==2022.7.1
hydra-core==1.3.2
sqlalchemy<2.0
pandas==1.5.2
fastapi==0.111.0
GitPython==3.1.43
+3
View File
@@ -4,6 +4,7 @@ File contains util functions.
import os
from datetime import datetime
from enum import StrEnum
from typing import Iterable
import nextcord
@@ -24,6 +25,8 @@ REPO_DIR = "./dakiny-messages"
MESSAGES_DIR = f"{REPO_DIR}/messages"
TEMPLATES_DIR = f"{REPO_DIR}/message_templates"
VoteType = StrEnum("VoteType", ["COUNCIL", "DISCORDMANAGER", "CLANLEADER"])
def get_datetime(day: str) -> datetime:
"""