from functions.database import utils import time def invoked(): t = time.localtime() day_string: str = f"{t.tm_year}-{_lz(t.tm_mon)}-{_lz(t.tm_mday)}" _update(day_string) def _lz(arg: int) -> str: """ Add leading zeroes if necessary (YYYY-MM-DD) """ arg = str(arg) if len(arg) == 1: return f"0{arg}" return arg def _is_present(date: str) -> bool: """ Check if a given date is present in the database """ connection = utils.connect() cursor = connection.cursor() cursor.execute("SELECT * FROM command_stats WHERE day = %s", (date,)) res = cursor.fetchone() if res: return True return False def _add_date(date: str): """ Add a date into the db """ connection = utils.connect() cursor = connection.cursor() cursor.execute("INSERT INTO command_stats(day, amount) VALUES (%s, 1)", (date,)) connection.commit() def _update(date: str): """ Increase the counter for a given day """ # Date wasn't present yet, add it with a value of 1 if not _is_present(date): _add_date(date) return connection = utils.connect() cursor = connection.cursor() cursor.execute(""" UPDATE command_stats SET amount = amount + 1 WHERE day = %s """, (date,)) connection.commit() def _get_all(): """ Get all rows """ connection = utils.connect() cursor = connection.cursor() cursor.execute("SELECT * FROM command_stats") return cursor.fetchall()