messing with joins
parent
c8b4838157
commit
1f0f0ef0be
|
@ -464,7 +464,7 @@ class User(Base):
|
||||||
Comment.is_banned == False, Comment.deleted_utc == 0)
|
Comment.is_banned == False, Comment.deleted_utc == 0)
|
||||||
|
|
||||||
if not self.shadowbanned and self.admin_level < 3:
|
if not self.shadowbanned and self.admin_level < 3:
|
||||||
notifs = notifs.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
notifs = notifs.join(Notification.user).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
return notifs.count()
|
return notifs.count()
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,6 @@ class Vote(Base):
|
||||||
real = Column(Boolean, default=True)
|
real = Column(Boolean, default=True)
|
||||||
created_utc = Column(Integer)
|
created_utc = Column(Integer)
|
||||||
|
|
||||||
user = relationship("User", lazy="subquery")
|
|
||||||
post = relationship("Submission", lazy="subquery")
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time())
|
if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time())
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
@ -61,8 +58,7 @@ class CommentVote(Base):
|
||||||
real = Column(Boolean, default=True)
|
real = Column(Boolean, default=True)
|
||||||
created_utc = Column(Integer)
|
created_utc = Column(Integer)
|
||||||
|
|
||||||
user = relationship("User", lazy="subquery")
|
user = relationship("User")
|
||||||
comment = relationship("Comment", lazy="subquery")
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time())
|
if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time())
|
||||||
|
|
|
@ -272,7 +272,7 @@ def get_comments(cids, v=None, load_parent=False):
|
||||||
).filter(Comment.id.in_(cids))
|
).filter(Comment.id.in_(cids))
|
||||||
|
|
||||||
if not (v and (v.shadowbanned or v.admin_level >= 2)):
|
if not (v and (v.shadowbanned or v.admin_level >= 2)):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(Comment.author).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
comments = comments.join(
|
comments = comments.join(
|
||||||
votes,
|
votes,
|
||||||
|
@ -297,7 +297,7 @@ def get_comments(cids, v=None, load_parent=False):
|
||||||
output.append(comment)
|
output.append(comment)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
output = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.id.in_(cids)).all()
|
output = g.db.query(Comment).join(Comment.author).filter(User.shadowbanned == None, Comment.id.in_(cids)).all()
|
||||||
|
|
||||||
if load_parent:
|
if load_parent:
|
||||||
parents = [x.parent_comment_id for x in output if x.parent_comment_id]
|
parents = [x.parent_comment_id for x in output if x.parent_comment_id]
|
||||||
|
|
|
@ -689,7 +689,7 @@ def bid_list(v, bid):
|
||||||
try: page = int(request.values.get("page", 1))
|
try: page = int(request.values.get("page", 1))
|
||||||
except: page = 1
|
except: page = 1
|
||||||
|
|
||||||
users = g.db.query(User).join(Badge, Badge.user_id == User.id).filter(Badge.badge_id==bid).offset(25 * (page - 1)).limit(26).all()
|
users = g.db.query(User).join(User.badges).filter(Badge.badge_id==bid).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
next_exists = (len(users) > 25)
|
next_exists = (len(users) > 25)
|
||||||
users = users[:25]
|
users = users[:25]
|
||||||
|
@ -844,7 +844,7 @@ def admin_removed(v):
|
||||||
|
|
||||||
if page < 1: abort(400)
|
if page < 1: abort(400)
|
||||||
|
|
||||||
ids = g.db.query(Submission.id).join(User, User.id == Submission.author_id).filter(or_(Submission.is_banned==True, User.shadowbanned != None)).order_by(Submission.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
ids = g.db.query(Submission.id).join(Submission.author).filter(or_(Submission.is_banned==True, User.shadowbanned != None)).order_by(Submission.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
ids=[x[0] for x in ids]
|
ids=[x[0] for x in ids]
|
||||||
|
|
||||||
|
@ -869,7 +869,7 @@ def admin_removed_comments(v):
|
||||||
try: page = int(request.values.get("page", 1))
|
try: page = int(request.values.get("page", 1))
|
||||||
except: page = 1
|
except: page = 1
|
||||||
|
|
||||||
ids = g.db.query(Comment.id).join(User, User.id == Comment.author_id).filter(or_(Comment.is_banned==True, User.shadowbanned != None)).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
ids = g.db.query(Comment.id).join(Comment.author).filter(or_(Comment.is_banned==True, User.shadowbanned != None)).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
ids=[x[0] for x in ids]
|
ids=[x[0] for x in ids]
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ def post_pid_comment_cid(cid, pid=None, anything=None, v=None, sub=None):
|
||||||
)
|
)
|
||||||
|
|
||||||
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(Comment.author).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
comments=comments.filter(
|
comments=comments.filter(
|
||||||
Comment.top_comment_id == c.top_comment_id
|
Comment.top_comment_id == c.top_comment_id
|
||||||
|
|
|
@ -10,7 +10,7 @@ defaulttimefilter = environ.get("DEFAULT_TIME_FILTER", "all").strip()
|
||||||
@app.post("/clear")
|
@app.post("/clear")
|
||||||
@auth_required
|
@auth_required
|
||||||
def clear(v):
|
def clear(v):
|
||||||
notifs = g.db.query(Notification).join(Comment, Notification.comment_id == Comment.id).filter(Notification.read == False, Notification.user_id == v.id).all()
|
notifs = g.db.query(Notification).join(Notification.comment).filter(Notification.read == False, Notification.user_id == v.id).all()
|
||||||
for n in notifs:
|
for n in notifs:
|
||||||
n.read = True
|
n.read = True
|
||||||
g.db.add(n)
|
g.db.add(n)
|
||||||
|
@ -19,7 +19,7 @@ def clear(v):
|
||||||
@app.get("/unread")
|
@app.get("/unread")
|
||||||
@auth_required
|
@auth_required
|
||||||
def unread(v):
|
def unread(v):
|
||||||
listing = g.db.query(Notification, Comment).join(Comment, Notification.comment_id == Comment.id).filter(
|
listing = g.db.query(Notification, Comment).join(Notification.comment).filter(
|
||||||
Notification.read == False,
|
Notification.read == False,
|
||||||
Notification.user_id == v.id,
|
Notification.user_id == v.id,
|
||||||
Comment.is_banned == False,
|
Comment.is_banned == False,
|
||||||
|
@ -53,12 +53,12 @@ def notifications(v):
|
||||||
if v and (v.shadowbanned or v.admin_level > 2):
|
if v and (v.shadowbanned or v.admin_level > 2):
|
||||||
comments = g.db.query(Comment).filter(Comment.sentto != None, or_(Comment.author_id==v.id, Comment.sentto==v.id), Comment.parent_submission == None, Comment.level == 1).order_by(Comment.id.desc()).offset(25*(page-1)).limit(26).all()
|
comments = g.db.query(Comment).filter(Comment.sentto != None, or_(Comment.author_id==v.id, Comment.sentto==v.id), Comment.parent_submission == None, Comment.level == 1).order_by(Comment.id.desc()).offset(25*(page-1)).limit(26).all()
|
||||||
else:
|
else:
|
||||||
comments = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.sentto != None, or_(Comment.author_id==v.id, Comment.sentto==v.id), Comment.parent_submission == None, Comment.level == 1).order_by(Comment.id.desc()).offset(25*(page-1)).limit(26).all()
|
comments = g.db.query(Comment).join(Comment.author).filter(User.shadowbanned == None, Comment.sentto != None, or_(Comment.author_id==v.id, Comment.sentto==v.id), Comment.parent_submission == None, Comment.level == 1).order_by(Comment.id.desc()).offset(25*(page-1)).limit(26).all()
|
||||||
|
|
||||||
next_exists = (len(comments) > 25)
|
next_exists = (len(comments) > 25)
|
||||||
listing = comments[:25]
|
listing = comments[:25]
|
||||||
elif posts:
|
elif posts:
|
||||||
notifications = g.db.query(Notification, Comment).join(Comment, Notification.comment_id == Comment.id).filter(Notification.user_id == v.id, Comment.author_id == AUTOJANNY_ID).order_by(Notification.created_utc.desc()).offset(25 * (page - 1)).limit(101).all()
|
notifications = g.db.query(Notification, Comment).join(Notification.comment).filter(Notification.user_id == v.id, Comment.author_id == AUTOJANNY_ID).order_by(Notification.created_utc.desc()).offset(25 * (page - 1)).limit(101).all()
|
||||||
|
|
||||||
listing = []
|
listing = []
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ def notifications(v):
|
||||||
next_exists = (len(notifications) > len(listing))
|
next_exists = (len(notifications) > len(listing))
|
||||||
elif modactions:
|
elif modactions:
|
||||||
notifications = g.db.query(Notification, Comment) \
|
notifications = g.db.query(Notification, Comment) \
|
||||||
.join(Comment, Notification.comment_id == Comment.id) \
|
.join(Notification.comment) \
|
||||||
.filter(Notification.user_id == v.id,
|
.filter(Notification.user_id == v.id,
|
||||||
Comment.body_html.like(f'%<p>{NOTIF_MODACTION_PREFIX}%'),
|
Comment.body_html.like(f'%<p>{NOTIF_MODACTION_PREFIX}%'),
|
||||||
Comment.parent_submission == None, Comment.author_id == NOTIFICATIONS_ID) \
|
Comment.parent_submission == None, Comment.author_id == NOTIFICATIONS_ID) \
|
||||||
|
@ -94,7 +94,7 @@ def notifications(v):
|
||||||
|
|
||||||
next_exists = (len(notifications) > len(listing))
|
next_exists = (len(notifications) > len(listing))
|
||||||
elif reddit:
|
elif reddit:
|
||||||
notifications = g.db.query(Notification, Comment).join(Comment, Notification.comment_id == Comment.id).filter(Notification.user_id == v.id, Comment.body_html.like('%<p>New site mention: <a href="https://old.reddit.com/r/%'), Comment.parent_submission == None, Comment.author_id == NOTIFICATIONS_ID).order_by(Notification.created_utc.desc()).offset(25 * (page - 1)).limit(101).all()
|
notifications = g.db.query(Notification, Comment).join(Notification.comment).filter(Notification.user_id == v.id, Comment.body_html.like('%<p>New site mention: <a href="https://old.reddit.com/r/%'), Comment.parent_submission == None, Comment.author_id == NOTIFICATIONS_ID).order_by(Notification.created_utc.desc()).offset(25 * (page - 1)).limit(101).all()
|
||||||
|
|
||||||
listing = []
|
listing = []
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ def notifications(v):
|
||||||
|
|
||||||
next_exists = (len(notifications) > len(listing))
|
next_exists = (len(notifications) > len(listing))
|
||||||
else:
|
else:
|
||||||
comments = g.db.query(Comment, Notification).join(Notification, Notification.comment_id == Comment.id).filter(
|
comments = g.db.query(Comment, Notification).join(Notification.comment).filter(
|
||||||
Notification.user_id == v.id,
|
Notification.user_id == v.id,
|
||||||
Comment.is_banned == False,
|
Comment.is_banned == False,
|
||||||
Comment.deleted_utc == 0,
|
Comment.deleted_utc == 0,
|
||||||
|
@ -120,7 +120,7 @@ def notifications(v):
|
||||||
).order_by(Notification.created_utc.desc())
|
).order_by(Notification.created_utc.desc())
|
||||||
|
|
||||||
if not (v and (v.shadowbanned or v.admin_level > 2)):
|
if not (v and (v.shadowbanned or v.admin_level > 2)):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(Comment.author).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
comments = comments.offset(25 * (page - 1)).limit(26).all()
|
comments = comments.offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ def frontlist(v=None, sort="hot", page=1, t="all", ids_only=True, ccmode="false"
|
||||||
posts=posts.filter(not_(Submission.title.ilike(f'%{word}%')))
|
posts=posts.filter(not_(Submission.title.ilike(f'%{word}%')))
|
||||||
|
|
||||||
if not (v and v.shadowbanned):
|
if not (v and v.shadowbanned):
|
||||||
posts = posts.join(User, User.id == Submission.author_id).filter(User.shadowbanned == None)
|
posts = posts.join(Submission.author).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
if request.host == 'rdrama.net': num = 5
|
if request.host == 'rdrama.net': num = 5
|
||||||
else: num = 0.5
|
else: num = 0.5
|
||||||
|
|
|
@ -156,7 +156,7 @@ def post_id(pid, anything=None, v=None, sub=None):
|
||||||
)
|
)
|
||||||
|
|
||||||
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(Comment.author).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
comments=comments.filter(Comment.parent_submission == post.id).join(
|
comments=comments.filter(Comment.parent_submission == post.id).join(
|
||||||
votes,
|
votes,
|
||||||
|
@ -198,7 +198,7 @@ def post_id(pid, anything=None, v=None, sub=None):
|
||||||
else:
|
else:
|
||||||
pinned = g.db.query(Comment).filter(Comment.parent_submission == post.id, Comment.stickied != None).all()
|
pinned = g.db.query(Comment).filter(Comment.parent_submission == post.id, Comment.stickied != None).all()
|
||||||
|
|
||||||
comments = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.parent_submission == post.id, Comment.level == 1, Comment.stickied == None)
|
comments = g.db.query(Comment).join(Comment.author).filter(User.shadowbanned == None, Comment.parent_submission == post.id, Comment.level == 1, Comment.stickied == None)
|
||||||
|
|
||||||
comments = sort_comments(sort, comments)
|
comments = sort_comments(sort, comments)
|
||||||
|
|
||||||
|
@ -277,7 +277,7 @@ def viewmore(v, pid, sort, offset):
|
||||||
).filter(Comment.parent_submission == pid, Comment.stickied == None, Comment.id.notin_(ids))
|
).filter(Comment.parent_submission == pid, Comment.stickied == None, Comment.id.notin_(ids))
|
||||||
|
|
||||||
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(Comment.author).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
comments=comments.join(
|
comments=comments.join(
|
||||||
votes,
|
votes,
|
||||||
|
@ -309,7 +309,7 @@ def viewmore(v, pid, sort, offset):
|
||||||
second = [c[0] for c in comments.filter(or_(Comment.slots_result != None, Comment.blackjack_result != None, Comment.wordle_result != None), func.length(Comment.body_html) <= 100).all()]
|
second = [c[0] for c in comments.filter(or_(Comment.slots_result != None, Comment.blackjack_result != None, Comment.wordle_result != None), func.length(Comment.body_html) <= 100).all()]
|
||||||
comments = first + second
|
comments = first + second
|
||||||
else:
|
else:
|
||||||
comments = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.parent_submission == pid, Comment.level == 1, Comment.stickied == None, Comment.id.notin_(ids))
|
comments = g.db.query(Comment).join(Comment.author).filter(User.shadowbanned == None, Comment.parent_submission == pid, Comment.level == 1, Comment.stickied == None, Comment.id.notin_(ids))
|
||||||
|
|
||||||
comments = sort_comments(sort, comments)
|
comments = sort_comments(sort, comments)
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ def rdrama(id, title):
|
||||||
@auth_required
|
@auth_required
|
||||||
def marseys(v):
|
def marseys(v):
|
||||||
if SITE_NAME == 'rDrama':
|
if SITE_NAME == 'rDrama':
|
||||||
marseys = g.db.query(Marsey, User).join(User, User.id==Marsey.author_id)
|
marseys = g.db.query(Marsey, User).join(User)
|
||||||
sort = request.values.get("sort", "usage")
|
sort = request.values.get("sort", "usage")
|
||||||
if sort == "usage": marseys = marseys.order_by(Marsey.count.desc(), User.username)
|
if sort == "usage": marseys = marseys.order_by(Marsey.count.desc(), User.username)
|
||||||
else: marseys = marseys.order_by(User.username, Marsey.count.desc())
|
else: marseys = marseys.order_by(User.username, Marsey.count.desc())
|
||||||
|
@ -39,7 +39,7 @@ def marsey_list():
|
||||||
"tags": emoji.tags.split(" ") + [emoji.name[len("marsey"):] if emoji.name.startswith("marsey") else emoji.name],
|
"tags": emoji.tags.split(" ") + [emoji.name[len("marsey"):] if emoji.name.startswith("marsey") else emoji.name],
|
||||||
"count": emoji.count,
|
"count": emoji.count,
|
||||||
"class": "Marsey"
|
"class": "Marsey"
|
||||||
} for emoji, author in g.db.query(Marsey, User.username).join(User, User.id==Marsey.author_id).order_by(Marsey.count.desc())]
|
} for emoji, author in g.db.query(Marsey, User.username).join(User).order_by(Marsey.count.desc())]
|
||||||
|
|
||||||
# Stastic shit
|
# Stastic shit
|
||||||
shit = open("files/assets/emojis.json", "r", encoding="utf-8")
|
shit = open("files/assets/emojis.json", "r", encoding="utf-8")
|
||||||
|
|
|
@ -155,7 +155,7 @@ def mods(v, sub):
|
||||||
sub = g.db.query(Sub).filter_by(name=sub.strip().lower()).one_or_none()
|
sub = g.db.query(Sub).filter_by(name=sub.strip().lower()).one_or_none()
|
||||||
if not sub: abort(404)
|
if not sub: abort(404)
|
||||||
|
|
||||||
users = g.db.query(User, Mod).join(Mod, Mod.user_id==User.id).filter_by(sub=sub.name).order_by(Mod.created_utc).all()
|
users = g.db.query(User, Mod).join(Mod).filter_by(sub=sub.name).order_by(Mod.created_utc).all()
|
||||||
|
|
||||||
return render_template("sub/mods.html", v=v, sub=sub, users=users)
|
return render_template("sub/mods.html", v=v, sub=sub, users=users)
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ def sub_exilees(v, sub):
|
||||||
sub = g.db.query(Sub).filter_by(name=sub.strip().lower()).one_or_none()
|
sub = g.db.query(Sub).filter_by(name=sub.strip().lower()).one_or_none()
|
||||||
if not sub: abort(404)
|
if not sub: abort(404)
|
||||||
|
|
||||||
users = g.db.query(User, Exile).join(Exile, Exile.user_id==User.id).filter_by(sub=sub.name).all()
|
users = g.db.query(User, Exile).join(Exile).filter_by(sub=sub.name).all()
|
||||||
|
|
||||||
return render_template("sub/exilees.html", v=v, sub=sub, users=users)
|
return render_template("sub/exilees.html", v=v, sub=sub, users=users)
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ def sub_blockers(v, sub):
|
||||||
sub = g.db.query(Sub).filter_by(name=sub.strip().lower()).one_or_none()
|
sub = g.db.query(Sub).filter_by(name=sub.strip().lower()).one_or_none()
|
||||||
if not sub: abort(404)
|
if not sub: abort(404)
|
||||||
|
|
||||||
users = g.db.query(User).join(SubBlock, SubBlock.user_id==User.id).filter_by(sub=sub.name).all()
|
users = g.db.query(User).join(SubBlock).filter_by(sub=sub.name).all()
|
||||||
|
|
||||||
return render_template("sub/blockers.html",
|
return render_template("sub/blockers.html",
|
||||||
v=v, sub=sub, users=users, verb="blocking")
|
v=v, sub=sub, users=users, verb="blocking")
|
||||||
|
@ -189,7 +189,7 @@ def sub_followers(v, sub):
|
||||||
if not sub: abort(404)
|
if not sub: abort(404)
|
||||||
|
|
||||||
users = g.db.query(User) \
|
users = g.db.query(User) \
|
||||||
.join(SubSubscription, SubSubscription.user_id==User.id) \
|
.join(SubSubscription) \
|
||||||
.filter_by(sub=sub.name).all()
|
.filter_by(sub=sub.name).all()
|
||||||
|
|
||||||
return render_template("sub/blockers.html",
|
return render_template("sub/blockers.html",
|
||||||
|
|
|
@ -22,8 +22,8 @@ def leaderboard_thread():
|
||||||
|
|
||||||
db = db_session()
|
db = db_session()
|
||||||
|
|
||||||
votes1 = db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote, Vote.submission_id==Submission.id).filter(Vote.vote_type==-1).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).all()
|
votes1 = db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote).filter(Vote.vote_type==-1).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).all()
|
||||||
votes2 = db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote, CommentVote.comment_id==Comment.id).filter(CommentVote.vote_type==-1).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).all()
|
votes2 = db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote).filter(CommentVote.vote_type==-1).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).all()
|
||||||
votes3 = Counter(dict(votes1)) + Counter(dict(votes2))
|
votes3 = Counter(dict(votes1)) + Counter(dict(votes2))
|
||||||
users8 = db.query(User).filter(User.id.in_(votes3.keys())).all()
|
users8 = db.query(User).filter(User.id.in_(votes3.keys())).all()
|
||||||
users9 = []
|
users9 = []
|
||||||
|
@ -66,7 +66,7 @@ def upvoters_posts(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Submission).join(Vote, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Submission.author_id==id, Vote.user_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Submission).join(Vote).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Submission.author_id==id, Vote.user_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [p.id for p in listing]
|
listing = [p.id for p in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -87,7 +87,7 @@ def upvoters_comments(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Comment).join(CommentVote, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, Comment.author_id==id, CommentVote.user_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Comment).join(CommentVote).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, Comment.author_id==id, CommentVote.user_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [c.id for c in listing]
|
listing = [c.id for c in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -108,7 +108,7 @@ def downvoters_posts(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Submission).join(Vote, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Submission.author_id==id, Vote.user_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Submission).join(Vote).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Submission.author_id==id, Vote.user_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [p.id for p in listing]
|
listing = [p.id for p in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -129,7 +129,7 @@ def downvoters_comments(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Comment).join(CommentVote, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, Comment.author_id==id, CommentVote.user_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Comment).join(CommentVote).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, Comment.author_id==id, CommentVote.user_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [c.id for c in listing]
|
listing = [c.id for c in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -153,7 +153,7 @@ def upvoting_posts(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Submission).join(Vote, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Vote.user_id==id, Submission.author_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Submission).join(Vote).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Vote.user_id==id, Submission.author_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [p.id for p in listing]
|
listing = [p.id for p in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -174,7 +174,7 @@ def upvoting_comments(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Comment).join(CommentVote, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, CommentVote.user_id==id, Comment.author_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Comment).join(CommentVote).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, CommentVote.user_id==id, Comment.author_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [c.id for c in listing]
|
listing = [c.id for c in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -195,7 +195,7 @@ def downvoting_posts(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Submission).join(Vote, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Vote.user_id==id, Submission.author_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Submission).join(Vote).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Vote.user_id==id, Submission.author_id==uid).order_by(Submission.created_utc.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [p.id for p in listing]
|
listing = [p.id for p in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -216,7 +216,7 @@ def downvoting_comments(v, username, uid):
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
|
||||||
listing = g.db.query(Comment).join(CommentVote, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, CommentVote.user_id==id, Comment.author_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
listing = g.db.query(Comment).join(CommentVote).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, CommentVote.user_id==id, Comment.author_id==uid).order_by(Comment.id.desc()).offset(25 * (page - 1)).limit(26).all()
|
||||||
|
|
||||||
listing = [c.id for c in listing]
|
listing = [c.id for c in listing]
|
||||||
next_exists = len(listing) > 25
|
next_exists = len(listing) > 25
|
||||||
|
@ -255,9 +255,9 @@ def agendaposters(v):
|
||||||
def upvoters(v, username):
|
def upvoters(v, username):
|
||||||
id = get_user(username).id
|
id = get_user(username).id
|
||||||
|
|
||||||
votes = g.db.query(Vote.user_id, func.count(Vote.user_id)).join(Submission, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Submission.author_id==id).group_by(Vote.user_id).order_by(func.count(Vote.user_id).desc()).all()
|
votes = g.db.query(Vote.user_id, func.count(Vote.user_id)).join(Submission).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Submission.author_id==id).group_by(Vote.user_id).order_by(func.count(Vote.user_id).desc()).all()
|
||||||
|
|
||||||
votes2 = g.db.query(CommentVote.user_id, func.count(CommentVote.user_id)).join(Comment, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, Comment.author_id==id).group_by(CommentVote.user_id).order_by(func.count(CommentVote.user_id).desc()).all()
|
votes2 = g.db.query(CommentVote.user_id, func.count(CommentVote.user_id)).join(Comment).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, Comment.author_id==id).group_by(CommentVote.user_id).order_by(func.count(CommentVote.user_id).desc()).all()
|
||||||
|
|
||||||
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
||||||
|
|
||||||
|
@ -286,9 +286,9 @@ def upvoters(v, username):
|
||||||
def downvoters(v, username):
|
def downvoters(v, username):
|
||||||
id = get_user(username).id
|
id = get_user(username).id
|
||||||
|
|
||||||
votes = g.db.query(Vote.user_id, func.count(Vote.user_id)).join(Submission, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Submission.author_id==id).group_by(Vote.user_id).order_by(func.count(Vote.user_id).desc()).all()
|
votes = g.db.query(Vote.user_id, func.count(Vote.user_id)).join(Submission).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Submission.author_id==id).group_by(Vote.user_id).order_by(func.count(Vote.user_id).desc()).all()
|
||||||
|
|
||||||
votes2 = g.db.query(CommentVote.user_id, func.count(CommentVote.user_id)).join(Comment, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, Comment.author_id==id).group_by(CommentVote.user_id).order_by(func.count(CommentVote.user_id).desc()).all()
|
votes2 = g.db.query(CommentVote.user_id, func.count(CommentVote.user_id)).join(Comment).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, Comment.author_id==id).group_by(CommentVote.user_id).order_by(func.count(CommentVote.user_id).desc()).all()
|
||||||
|
|
||||||
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
||||||
|
|
||||||
|
@ -315,9 +315,9 @@ def downvoters(v, username):
|
||||||
def upvoting(v, username):
|
def upvoting(v, username):
|
||||||
id = get_user(username).id
|
id = get_user(username).id
|
||||||
|
|
||||||
votes = g.db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Vote.user_id==id).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).all()
|
votes = g.db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==1, Vote.user_id==id).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).all()
|
||||||
|
|
||||||
votes2 = g.db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, CommentVote.user_id==id).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).all()
|
votes2 = g.db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==1, CommentVote.user_id==id).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).all()
|
||||||
|
|
||||||
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
||||||
|
|
||||||
|
@ -344,9 +344,9 @@ def upvoting(v, username):
|
||||||
def downvoting(v, username):
|
def downvoting(v, username):
|
||||||
id = get_user(username).id
|
id = get_user(username).id
|
||||||
|
|
||||||
votes = g.db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote, Vote.submission_id==Submission.id).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Vote.user_id==id).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).all()
|
votes = g.db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote).filter(Submission.ghost == False, Submission.is_banned == False, Submission.deleted_utc == 0, Vote.vote_type==-1, Vote.user_id==id).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).all()
|
||||||
|
|
||||||
votes2 = g.db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote, CommentVote.comment_id==Comment.id).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, CommentVote.user_id==id).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).all()
|
votes2 = g.db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote).filter(Comment.ghost == False, Comment.is_banned == False, Comment.deleted_utc == 0, CommentVote.vote_type==-1, CommentVote.user_id==id).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).all()
|
||||||
|
|
||||||
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
||||||
|
|
||||||
|
@ -842,7 +842,7 @@ def redditor_moment_redirect(username, v):
|
||||||
@auth_required
|
@auth_required
|
||||||
def followers(username, v):
|
def followers(username, v):
|
||||||
u = get_user(username, v=v)
|
u = get_user(username, v=v)
|
||||||
users = g.db.query(User).join(Follow, Follow.target_id == u.id) \
|
users = g.db.query(User).join(User.followers) \
|
||||||
.filter(Follow.user_id == User.id) \
|
.filter(Follow.user_id == User.id) \
|
||||||
.order_by(Follow.created_utc).all()
|
.order_by(Follow.created_utc).all()
|
||||||
return render_template("followers.html", v=v, u=u, users=users)
|
return render_template("followers.html", v=v, u=u, users=users)
|
||||||
|
@ -851,7 +851,7 @@ def followers(username, v):
|
||||||
@auth_required
|
@auth_required
|
||||||
def following(username, v):
|
def following(username, v):
|
||||||
u = get_user(username, v=v)
|
u = get_user(username, v=v)
|
||||||
users = g.db.query(User).join(Follow, Follow.user_id == u.id) \
|
users = g.db.query(User).join(User.following) \
|
||||||
.filter(Follow.target_id == User.id) \
|
.filter(Follow.target_id == User.id) \
|
||||||
.order_by(Follow.created_utc).all()
|
.order_by(Follow.created_utc).all()
|
||||||
return render_template("following.html", v=v, u=u, users=users)
|
return render_template("following.html", v=v, u=u, users=users)
|
||||||
|
|
Loading…
Reference in New Issue