more optimizing
parent
58ae625356
commit
a3b73bd459
|
@ -312,39 +312,38 @@ def award_thing(v, thing_type, id):
|
||||||
emoji = g.db.query(Emoji).filter_by(name=award.note).one_or_none()
|
emoji = g.db.query(Emoji).filter_by(name=award.note).one_or_none()
|
||||||
if not emoji:
|
if not emoji:
|
||||||
abort(404, f'an Emoji with the name "{award.note}" was not found!')
|
abort(404, f'an Emoji with the name "{award.note}" was not found!')
|
||||||
|
elif kind == "ban":
|
||||||
|
if not author.is_suspended:
|
||||||
|
author.ban(reason=ban_reason, days=quantity)
|
||||||
|
elif author.unban_utc:
|
||||||
|
author.unban_utc += 86400 * quantity
|
||||||
|
send_repeatable_notification(author.id, f"Your account has been banned for **{quantity} day{s}** for {obj.textlink}. It sucked and you should feel bad.")
|
||||||
|
elif kind == "unban":
|
||||||
|
if not author.is_suspended or not author.unban_utc:
|
||||||
|
abort(403)
|
||||||
|
|
||||||
|
if not author.ban_reason.startswith('1-Day Ban award'):
|
||||||
|
abort(400, "You can only use unban awards to undo the effect of ban awards!")
|
||||||
|
|
||||||
|
if author.unban_utc - time.time() > 86400 * quantity:
|
||||||
|
author.unban_utc -= 86400 * quantity
|
||||||
|
send_repeatable_notification(author.id, f"Your ban duration has been reduced by {quantity} day{s}!")
|
||||||
|
else:
|
||||||
|
author.unban_utc = None
|
||||||
|
author.is_banned = None
|
||||||
|
author.ban_reason = None
|
||||||
|
send_repeatable_notification(author.id, "You have been unbanned!")
|
||||||
|
elif kind == "grass":
|
||||||
|
new_unban_utc = int(time.time()) + 30 * 86400 * quantity
|
||||||
|
if author.is_banned and (not author.unban_utc or author.unban_utc > new_unban_utc):
|
||||||
|
abort(403, f"{safe_username} already banned for more than 30 days!")
|
||||||
|
author.is_banned = AUTOJANNY_ID
|
||||||
|
author.unban_utc = new_unban_utc
|
||||||
|
send_repeatable_notification(author.id, f"@{v.username} gave you {quantity} grass award{s} on {obj.textlink} and as a result you have been banned! You must [send the admins](/contact) a timestamped picture of you touching grass/snow/sand/ass to get unbanned!")
|
||||||
|
|
||||||
|
|
||||||
for x in range(quantity):
|
for x in range(quantity):
|
||||||
if kind == "ban":
|
if kind == "pin":
|
||||||
if not author.is_suspended:
|
|
||||||
author.ban(reason=ban_reason, days=1)
|
|
||||||
send_repeatable_notification(author.id, f"Your account has been banned for **a day** for {obj.textlink}. It sucked and you should feel bad.")
|
|
||||||
elif author.unban_utc:
|
|
||||||
author.unban_utc += 86400
|
|
||||||
send_repeatable_notification(author.id, f"Your account has been banned for **yet another day** for {obj.textlink}. Seriously man?")
|
|
||||||
elif kind == "unban":
|
|
||||||
if not author.is_suspended or not author.unban_utc:
|
|
||||||
abort(403)
|
|
||||||
|
|
||||||
if not author.ban_reason.startswith('1-Day Ban award'):
|
|
||||||
abort(400, "You can only use unban awards to undo the effect of ban awards!")
|
|
||||||
|
|
||||||
if author.unban_utc - time.time() > 86400:
|
|
||||||
author.unban_utc -= 86400
|
|
||||||
send_repeatable_notification(author.id, "Your ban duration has been reduced by 1 day!")
|
|
||||||
else:
|
|
||||||
author.unban_utc = None
|
|
||||||
author.is_banned = None
|
|
||||||
author.ban_reason = None
|
|
||||||
send_repeatable_notification(author.id, "You have been unbanned!")
|
|
||||||
elif kind == "grass":
|
|
||||||
new_unban_utc = int(time.time()) + 30 * 86400
|
|
||||||
if author.is_banned and (not author.unban_utc or author.unban_utc > new_unban_utc):
|
|
||||||
abort(403, f"{safe_username} already banned for more than 30 days!")
|
|
||||||
author.is_banned = AUTOJANNY_ID
|
|
||||||
author.unban_utc = new_unban_utc
|
|
||||||
send_repeatable_notification(author.id, f"@{v.username} gave you the grass award on {obj.textlink} and as a result you have been banned! You must [send the admins](/contact) a timestamped picture of you touching grass/snow/sand/ass to get unbanned!")
|
|
||||||
elif kind == "pin":
|
|
||||||
if not FEATURES['PINS']: abort(403)
|
if not FEATURES['PINS']: abort(403)
|
||||||
if obj.is_banned: abort(403)
|
if obj.is_banned: abort(403)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue