cronpy/lib/month.py

32 lines
1.0 KiB
Python
Raw Normal View History

2020-10-03 21:17:53 +00:00
class Month:
def __init__(self, idt=None, name=None, current=None, bets=None, rank=None, end=None):
self.id = idt if isinstance(idt, int) and 1 <= idt <= 12 else 0
self.name = name
self.current = current
self.bets = bets
self.rank = rank
self.end = end
def toggle_current(self, db):
db.exec("UPDATE months SET current = 1 - current WHERE id = :id", {'id': self.id})
def close_bets(self, db):
db.exec("UPDATE bets SET open = 0 WHERE id_month = :id", {'id': self.id})
@staticmethod
def current_year(db):
for row in db.query("SELECT year FROM years WHERE current = 1"):
return row['year']
@staticmethod
def get_months(db):
for row in db.query("SELECT * FROM months ORDER BY orderer ASC"):
yield Month(
idt=row['id'],
name=row['name'],
current=bool(row['current']),
bets=bool(row['bets']),
rank=bool(row['rank']),
end=row['end']
)