You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
from requests import post as r_post
|
|
|
|
from json import dumps
|
|
|
|
from flask import session, current_app
|
|
|
|
from suchwow.models import Moderator
|
|
|
|
from suchwow import config
|
|
|
|
|
|
|
|
|
|
|
|
def allowed_file(filename):
|
|
|
|
return "." in filename and \
|
|
|
|
filename.rsplit(".", 1)[1].lower() in config.ALLOWED_EXTENSIONS
|
|
|
|
|
|
|
|
def is_moderator(username):
|
|
|
|
m = Moderator.filter(username=username)
|
|
|
|
if m:
|
|
|
|
return True
|
|
|
|
else:
|
|
|
|
return False
|
|
|
|
|
|
|
|
def get_session_user():
|
|
|
|
if "auth" not in session or not session["auth"]:
|
|
|
|
return None
|
|
|
|
return session["auth"]["preferred_username"]
|
|
|
|
|
|
|
|
def post_webhook(msg):
|
|
|
|
try:
|
|
|
|
if current_app.config["DEBUG"]:
|
|
|
|
msg = "[DEBUG] " + msg
|
|
|
|
data = {
|
|
|
|
"text": msg,
|
|
|
|
"channel": config.MM_CHANNEL,
|
|
|
|
"username": config.MM_USERNAME,
|
|
|
|
"icon_url": config.MM_ICON
|
|
|
|
}
|
|
|
|
res = r_post(config.MM_ENDPOINT, data=dumps(data))
|
|
|
|
res.raise_for_status()
|
|
|
|
return True
|
|
|
|
except:
|
|
|
|
return False
|