diff --git a/files/helpers/sorting_and_time.py b/files/helpers/sorting_and_time.py
index a1ccf259a..336451d4b 100644
--- a/files/helpers/sorting_and_time.py
+++ b/files/helpers/sorting_and_time.py
@@ -29,10 +29,11 @@ def sort_objects(sort, objects, cls, include_shadowbanned=False):
if sort == 'hot':
ti = int(time.time()) + 3600
- if SITE_NAME == 'rDrama': metric = cls.realupvotes
- else: metric = cls.upvotes - cls.downvotes
- if cls.__name__ == "Submission": metric += cls.comment_count/5
- return objects.order_by(-1000000*(metric + 1)/(func.power(((ti - cls.created_utc)/1000), 1.23)), cls.created_utc.desc())
+
+ if cls.__name__ == "Submission":
+ cls.realupvotes += cls.comment_count/5
+
+ return objects.order_by(-1000000*(cls.realupvotes + 1)/(func.power(((ti - cls.created_utc)/1000), 1.23)), cls.created_utc.desc())
elif sort == "bump" and cls.__name__ == "Submission":
return objects.filter(cls.comment_count > 1).order_by(cls.bump_utc.desc(), cls.created_utc.desc())
elif sort == "comments" and cls.__name__ == "Submission":
diff --git a/files/routes/votes.py b/files/routes/votes.py
index 2e3007fb0..13be19078 100644
--- a/files/routes/votes.py
+++ b/files/routes/votes.py
@@ -161,26 +161,28 @@ def vote_post_comment(target_id, new, v, cls, vote_cls):
if SITE_NAME == 'rDrama':
target.realupvotes = get_vote_count(0, True) # first arg is ignored here
+ else:
+ target.realupvotes = target.upvotes - target.downvotes
- mul = 1
- if target.is_approved == PROGSTACK_ID:
- mul = PROGSTACK_MUL
- else:
- if target.author.progressivestack or (target.author.admin_level and target.author.id not in {AEVANN_ID, CARP_ID}):
+ mul = 1
+ if target.is_approved == PROGSTACK_ID:
+ mul = PROGSTACK_MUL
+ elif SITE_NAME == 'rDrama':
+ if target.author.progressivestack or (target.author.admin_level and target.author.id not in {AEVANN_ID, CARP_ID}):
+ mul = 2
+ if cls == Submission and target.author.id not in {8768,3402,5214,12719}:
+ if (target.domain.endswith('.win') or 'forum' in target.domain
+ or (target.domain in BOOSTED_SITES and not target.url.startswith('/'))
+ or target.sub in BOOSTED_HOLES):
mul = 2
- if cls == Submission and target.author.id not in {8768,3402,5214,12719}:
- if (target.domain.endswith('.win') or 'forum' in target.domain
- or (target.domain in BOOSTED_SITES and not target.url.startswith('/'))
- or target.sub in BOOSTED_HOLES):
- mul = 2
- elif not target.sub and target.body_html:
- x = target.body_html.count('" target="_blank" rel="nofollow noopener">')
- x += target.body_html.count('')
+ x += target.body_html.count('