remotes/1693045480750635534/spooky-22
parent
f4c595e892
commit
15c727dc20
|
@ -222,43 +222,6 @@ class User(Base, Stndrd, Age_times):
|
||||||
listing = [x.id for x in submissions[firstrange:secondrange]]
|
listing = [x.id for x in submissions[firstrange:secondrange]]
|
||||||
return listing
|
return listing
|
||||||
|
|
||||||
def commentlisting(self, v=None, page=1, sort="new", t="all"):
|
|
||||||
comments = self.comments.options(lazyload('*')).filter(Comment.parent_submission != None)
|
|
||||||
|
|
||||||
if (not v) or (v.id != self.id and v.admin_level == 0):
|
|
||||||
comments = comments.filter(Comment.deleted_utc == 0)
|
|
||||||
comments = comments.filter(Comment.is_banned == False)
|
|
||||||
|
|
||||||
now = int(time.time())
|
|
||||||
if t == 'hour':
|
|
||||||
cutoff = now - 3600
|
|
||||||
elif t == 'day':
|
|
||||||
cutoff = now - 86400
|
|
||||||
elif t == 'week':
|
|
||||||
cutoff = now - 604800
|
|
||||||
elif t == 'month':
|
|
||||||
cutoff = now - 2592000
|
|
||||||
elif t == 'year':
|
|
||||||
cutoff = now - 31536000
|
|
||||||
else:
|
|
||||||
cutoff = 0
|
|
||||||
comments = comments.filter(Comment.created_utc >= cutoff)
|
|
||||||
|
|
||||||
if sort == "new":
|
|
||||||
comments = comments.order_by(Comment.created_utc.desc()).all()
|
|
||||||
elif sort == "old":
|
|
||||||
comments = comments.order_by(Comment.created_utc.asc()).all()
|
|
||||||
elif sort == "controversial":
|
|
||||||
comments = sorted(comments.all(), key=lambda x: x.score_disputed, reverse=True)
|
|
||||||
elif sort == "top":
|
|
||||||
comments = sorted(comments.all(), key=lambda x: x.score, reverse=True)
|
|
||||||
elif sort == "bottom":
|
|
||||||
comments = sorted(comments.all(), key=lambda x: x.score)
|
|
||||||
|
|
||||||
firstrange = 25 * (page - 1)
|
|
||||||
secondrange = firstrange + 26
|
|
||||||
return [x.id for x in comments[firstrange:secondrange]]
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def fullname(self):
|
def fullname(self):
|
||||||
return f"t1_{self.id}"
|
return f"t1_{self.id}"
|
||||||
|
|
|
@ -512,12 +512,42 @@ def u_username_comments(username, v=None):
|
||||||
sort=request.args.get("sort","new")
|
sort=request.args.get("sort","new")
|
||||||
t=request.args.get("t","all")
|
t=request.args.get("t","all")
|
||||||
|
|
||||||
ids = user.commentlisting(
|
|
||||||
v=v,
|
comments = u.comments.options(lazyload('*')).filter(Comment.parent_submission != None)
|
||||||
page=page,
|
|
||||||
sort=sort,
|
if (not v) or (v.id != u.id and v.admin_level == 0):
|
||||||
t=t,
|
comments = comments.filter(Comment.deleted_utc == 0)
|
||||||
)
|
comments = comments.filter(Comment.is_banned == False)
|
||||||
|
|
||||||
|
now = int(time.time())
|
||||||
|
if t == 'hour':
|
||||||
|
cutoff = now - 3600
|
||||||
|
elif t == 'day':
|
||||||
|
cutoff = now - 86400
|
||||||
|
elif t == 'week':
|
||||||
|
cutoff = now - 604800
|
||||||
|
elif t == 'month':
|
||||||
|
cutoff = now - 2592000
|
||||||
|
elif t == 'year':
|
||||||
|
cutoff = now - 31536000
|
||||||
|
else:
|
||||||
|
cutoff = 0
|
||||||
|
comments = comments.filter(Comment.created_utc >= cutoff)
|
||||||
|
|
||||||
|
if sort == "new":
|
||||||
|
comments = comments.order_by(Comment.created_utc.desc()).all()
|
||||||
|
elif sort == "old":
|
||||||
|
comments = comments.order_by(Comment.created_utc.asc()).all()
|
||||||
|
elif sort == "controversial":
|
||||||
|
comments = sorted(comments.all(), key=lambda x: x.score_disputed, reverse=True)
|
||||||
|
elif sort == "top":
|
||||||
|
comments = sorted(comments.all(), key=lambda x: x.score, reverse=True)
|
||||||
|
elif sort == "bottom":
|
||||||
|
comments = sorted(comments.all(), key=lambda x: x.score)
|
||||||
|
|
||||||
|
firstrange = 25 * (page - 1)
|
||||||
|
secondrange = firstrange + 26
|
||||||
|
ids = [x.id for x in comments[firstrange:secondrange]]
|
||||||
|
|
||||||
# we got 26 items just to see if a next page exists
|
# we got 26 items just to see if a next page exists
|
||||||
next_exists = (len(ids) > 25)
|
next_exists = (len(ids) > 25)
|
||||||
|
|
Loading…
Reference in New Issue