Merge branch 'master' into mistletoe

master
kek7198 2021-11-24 14:34:09 -06:00
commit 826ad239d1
4 changed files with 78 additions and 13 deletions

View File

@ -205,8 +205,9 @@ class User(Base):
@property
@lazy
def ban_reason_link(self):
if self.ban_reason and (self.ban_reason.startswith("/post/") or self.ban_reason.startswith("/comment/")):
return self.ban_reason.split(" ", 1)[0]
if self.ban_reason:
if self.ban_reason.startswith("/post/"): return self.ban_reason.split(None, 1)[0]
if self.ban_reason.startswith("/comment/"): return self.ban_reason.split(None, 1)[0] + "?context=9#context"
@property
@lazy

View File

@ -4,6 +4,37 @@ import re
SITE = environ.get("DOMAIN", '').strip()
SITE_NAME = environ.get("SITE_NAME", '').strip()
AJ_REPLACEMENTS = {
':': '',
"'": '',
'-': '',
'.': '',
'!': '',
'"': '',
';': '',
'their': '$#3$1',
'there': 'their',
'$#3$1': 'there',
"you're": '$#3$2',
'your': "you're",
'$#3$2': 'your',
"too": '$#3$3',
'to': "too",
'$#3$3': 'to',
'$#3$3': 'to',
'$#3$3': 'to',
'$#3$3': 'to',
'she': 'they',
'her': 'they',
'he': 'they',
'him': 'they',
}
SLURS = {
"retarded": "r-slurred",
"retard": "r-slur",
@ -21,8 +52,8 @@ SLURS = {
"kill yourself": "keep yourself safe",
"kys": "keep yourself safe",
"kyle": "Kylie",
"nig": "I LOVE BIG BLACK COCK IN MY BUSSY",
"nigger": "I LOVE BIG BLACK COCK IN MY BUSSY",
"nig": "🏀",
"nigger": "🏀",
"rapist": "male feminist",
"steve akins": "penny verity oaken",
"trannie": "🚂🚃🚃",
@ -159,6 +190,9 @@ def censor_slurs(body: str, logged_user) -> str:
if not logged_user or logged_user.slurreplacer: body = SLUR_REGEX.sub(sub_matcher, body)
return body
def censor_slurs2(body: str) -> str:
return SLUR_REGEX.sub(sub_matcher, body)
BADGES = {
1: {
'name': 'Alpha User',

View File

@ -195,6 +195,11 @@ def api_comment(v):
body += f"\n\n![]({url})"
if v.agendaposter:
for k, l in AJ_REPLACEMENTS.items(): body = body.replace(k, l)
body = body.replace('I ', f'@{v.username}')
body = censor_slurs2(body).upper().replace(' ME ', f'@{v.username}')
body_html = sanitize(CustomRenderer().render(mistletoe.Document(body)))
if v.marseyawarded and len(list(re.finditer('>[^<\s+]|[^>\s+]<', body_html))) > 0: return {"error":"You can only type marseys!"}, 403
@ -594,7 +599,7 @@ def api_comment(v):
g.db.commit()
if v.agendaposter and random.randint(1, 10) < 7:
if v.agendaposter and random.randint(1, 10) < 4:
if request.host == 'rdrama.net':
return redirect(random.choice(['https://secure.actblue.com/donate/ms_blm_homepage_2019','https://rdrama.net/post/19711/a-short-guide-on-how-to','https://secure.transequality.org/site/Donation2?df_id=1480']))
return redirect('https://secure.actblue.com/donate/ms_blm_homepage_2019')
@ -643,8 +648,13 @@ def edit_comment(cid, v):
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|webp|PNG|JPG|JPEG|GIF|WEBP|9999))', body, re.MULTILINE):
if "wikipedia" not in i.group(1): body = body.replace(i.group(1), f'![]({i.group(1)})')
body_md = CustomRenderer().render(mistletoe.Document(body))
body_html = sanitize(body_md)
if v.agendaposter:
for k, l in AJ_REPLACEMENTS.items(): body = body.replace(k, l)
body = body.replace('I ', f'@{v.username}')
body = censor_slurs2(body).upper().replace(' ME ', f'@{v.username}')
body_html = sanitize(CustomRenderer().render(mistletoe.Document(body)))
if v.marseyawarded and len(list(re.finditer('>[^<\s+]|[^>\s+]<', body_html))) > 0: return {"error":"You can only type marseys!"}, 403

View File

@ -104,7 +104,7 @@ def post_id(pid, anything=None, v=None):
if v and request.path.startswith('/logged_out'): v = None
if v and v.agendaposter and random.randint(1, 10) < 3:
if v and v.agendaposter and random.randint(1, 20) == 1:
if request.host == 'rdrama.net':
return redirect(random.choice(['https://secure.actblue.com/donate/ms_blm_homepage_2019','https://rdrama.net/post/19711/a-short-guide-on-how-to','https://secure.transequality.org/site/Donation2?df_id=1480']))
return redirect('https://secure.actblue.com/donate/ms_blm_homepage_2019')
@ -249,6 +249,11 @@ def edit_post(pid, v):
elif len(body) > 140: return {"error":"You have to type less than 140 characters!"}, 403
if title != p.title:
if v.agendaposter:
for k, l in AJ_REPLACEMENTS.items(): title = title.replace(k, l)
title = title.replace('I ', f'@{v.username}')
title = censor_slurs2(title).upper().replace(' ME ', f'@{v.username}')
title_html = filter_title(title)
if v.marseyawarded and len(list(re.finditer('>[^<\s+]|[^>\s+]<', title_html))) > 0: return {"error":"You can only type marseys!"}, 403
p.title = title
@ -257,8 +262,13 @@ def edit_post(pid, v):
if body != p.body:
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|webp|PNG|JPG|JPEG|GIF|WEBP|9999))', body, re.MULTILINE):
if "wikipedia" not in i.group(1): body = body.replace(i.group(1), f'![]({i.group(1)})')
body_md = CustomRenderer().render(mistletoe.Document(body))
body_html = sanitize(body_md)
if v.agendaposter:
for k, l in AJ_REPLACEMENTS.items(): body = body.replace(k, l)
body = body.replace('I ', f'@{v.username}')
body = censor_slurs2(body).upper().replace(' ME ', f'@{v.username}')
body_html = sanitize(CustomRenderer().render(mistletoe.Document(body)))
bans = filter_comment_html(body_html)
if bans:
@ -535,6 +545,12 @@ def submit_post(v):
title = request.values.get("title", "").strip()
url = request.values.get("url", "").strip()
if v.agendaposter:
for k, l in AJ_REPLACEMENTS.items(): title = title.replace(k, l)
title = title.replace('I ', f'@{v.username}')
title = censor_slurs2(title).upper().replace(' ME ', f'@{v.username}')
title_html = filter_title(title)
body = request.values.get("body", "").strip()
@ -714,8 +730,12 @@ def submit_post(v):
options.append(i.group(1))
body = body.replace(i.group(0), "")
body_md = CustomRenderer().render(mistletoe.Document(body))
body_html = sanitize(body_md)
if v.agendaposter:
for k, l in AJ_REPLACEMENTS.items(): body = body.replace(k, l)
body = body.replace('I ', f'@{v.username}')
body = censor_slurs2(body).upper().replace(' ME ', f'@{v.username}')
body_html = sanitize(CustomRenderer().render(mistletoe.Document(body)))
if v.marseyawarded and len(list(re.finditer('>[^<\s+]|[^>\s+]<', body_html))) > 0: return {"error":"You can only type marseys!"}, 400
@ -987,7 +1007,7 @@ def submit_post(v):
g.db.commit()
if v.agendaposter and random.randint(1, 10) < 7:
if v.agendaposter and random.randint(1, 10) < 4:
if request.host == 'rdrama.net':
return redirect(random.choice(['https://secure.actblue.com/donate/ms_blm_homepage_2019','https://rdrama.net/post/19711/a-short-guide-on-how-to','https://secure.transequality.org/site/Donation2?df_id=1480']))
return redirect('https://secure.actblue.com/donate/ms_blm_homepage_2019')