fdsfsd
This commit is contained in:
parent
1e3491a34a
commit
9585efa68d
12 changed files with 119 additions and 319 deletions
|
@ -7,6 +7,17 @@ from files.helpers.const import *
|
|||
from datetime import datetime
|
||||
from json import loads
|
||||
|
||||
class BadgeDef(Base):
|
||||
__tablename__ = "badge_defs"
|
||||
|
||||
id = Column(Integer, ForeignKey("badges.id"), primary_key=True, autoincrement=True)
|
||||
name = Column(String)
|
||||
description = Column(String)
|
||||
|
||||
def __repr__(self):
|
||||
return f"<BadgeDef(id={self.id})>"
|
||||
|
||||
|
||||
class Badge(Base):
|
||||
|
||||
__tablename__ = "badges"
|
||||
|
@ -18,39 +29,34 @@ class Badge(Base):
|
|||
description = Column(String)
|
||||
url = Column(String)
|
||||
user = relationship("User", viewonly=True)
|
||||
badge = relationship("BadgeDef", viewonly=True)
|
||||
|
||||
def __repr__(self):
|
||||
return f"<Badge(user_id={self.user_id}, badge_id={self.badge_id})>"
|
||||
|
||||
@property
|
||||
@lazy
|
||||
def badge(self):
|
||||
with open("badges.json", 'r') as f:
|
||||
return loads(f.read())[str(self.badge_id)]
|
||||
|
||||
@property
|
||||
@lazy
|
||||
def text(self):
|
||||
if self.name == "Agendaposter":
|
||||
ti = self.user.agendaposter_expires_utc
|
||||
if ti: text = self.badge["description"] + " until " + datetime.utcfromtimestamp(ti).strftime('%Y-%m-%d %H:%M:%S')
|
||||
else: text = self.badge["description"] + " permanently"
|
||||
if ti: text = self.badge.description + " until " + datetime.utcfromtimestamp(ti).strftime('%Y-%m-%d %H:%M:%S')
|
||||
else: text = self.badge.description + " permanently"
|
||||
elif self.badge_id in (94,95,96,97,98):
|
||||
if self.badge_id == 94: ti = self.user.progressivestack
|
||||
elif self.badge_id == 95: ti = self.user.bird
|
||||
elif self.badge_id == 96: ti = self.user.flairchanged
|
||||
elif self.badge_id == 97: ti = self.user.longpost
|
||||
else: ti = self.user.marseyawarded
|
||||
text = self.badge["description"] + " until " + datetime.utcfromtimestamp(ti).strftime('%Y-%m-%d %H:%M:%S')
|
||||
text = self.badge.description + " until " + datetime.utcfromtimestamp(ti).strftime('%Y-%m-%d %H:%M:%S')
|
||||
elif self.description: text = self.description
|
||||
elif self.badge["description"]: text = self.badge["description"]
|
||||
elif self.badge.description: text = self.badge.description
|
||||
else: return ''
|
||||
return f' - {text}'
|
||||
|
||||
@property
|
||||
@lazy
|
||||
def name(self):
|
||||
return self.badge["name"]
|
||||
return self.badge.name
|
||||
|
||||
@property
|
||||
@lazy
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue