Merge branch 'cssvars' into master

This commit is contained in:
Jeremy "EndenDragon" Zhang
2017-09-07 14:41:30 -07:00
committed by GitHub
7 changed files with 133 additions and 6 deletions

View File

@ -4,6 +4,7 @@ from titanembeds.oauth import generate_guild_icon_url, generate_avatar_url
from titanembeds.database import db, Guilds, UserCSS
from config import config
import random
import json
embed = Blueprint("embed", __name__)
@ -26,6 +27,28 @@ def get_custom_css():
css = db.session.query(UserCSS).filter(UserCSS.id == css).first()
return css
def parse_css_variable(css):
CSS_VARIABLES_TEMPLATE = """:root {
/*--<var>: <value>*/
--modal: %(modal)s;
--noroleusers: %(noroleusers)s;
--main: %(main)s;
--placeholder: %(placeholder)s;
--sidebardivider: %(sidebardivider)s;
--leftsidebar: %(leftsidebar)s;
--rightsidebar: %(rightsidebar)s;
--header: %(header)s;
--chatmessage: %(chatmessage)s;
--discrim: %(discrim)s;
--chatbox: %(chatbox)s;
}"""
if not css:
return None
else:
variables = css.css_variables
variables = json.loads(variables)
return CSS_VARIABLES_TEMPLATE % variables
@embed.route("/<string:guild_id>")
def guild_embed(guild_id):
if check_guild_existance(guild_id):
@ -37,6 +60,7 @@ def guild_embed(guild_id):
"icon": guild.icon,
"discordio": guild.discordio,
}
customcss = get_custom_css()
return render_template("embed.html.j2",
login_greeting=get_logingreeting(),
guild_id=guild_id, guild=guild_dict,
@ -44,7 +68,8 @@ def guild_embed(guild_id):
unauth_enabled=guild_query_unauth_users_bool(guild_id),
visitors_enabled=guild_accepts_visitors(guild_id),
client_id=config['client-id'],
css=get_custom_css()
css=customcss,
cssvariables=parse_css_variable(customcss)
)
abort(404)

View File

@ -7,6 +7,7 @@ from titanembeds.oauth import authorize_url, token_url, make_authenticated_sessi
import time
import datetime
import paypalrestsdk
import json
user = Blueprint("user", __name__)
@ -97,7 +98,7 @@ def new_custom_css_post():
else:
name = name.strip()
css = css.strip()
css = UserCSS(name, user_id, css)
css = UserCSS(name, user_id, None, css)
db.session.add(css)
db.session.commit()
return jsonify({"id": css.id})
@ -113,7 +114,8 @@ def edit_custom_css_get(css_id):
abort(404)
if css.user_id != session['user_id']:
abort(403)
return render_template("usercss.html.j2", new=False, css=css)
variables = json.loads(css.css_variables)
return render_template("usercss.html.j2", new=False, css=css, variables=variables)
@user.route("/custom_css/edit/<css_id>", methods=["POST"])
@discord_users_only()
@ -128,6 +130,7 @@ def edit_custom_css_post(css_id):
abort(403)
name = request.form.get("name", None)
css = request.form.get("css", "")
variables = request.form.get("variables", None)
if not name:
abort(400)
else:
@ -135,6 +138,7 @@ def edit_custom_css_post(css_id):
css = css.strip()
dbcss.name = name
dbcss.css = css
dbcss.css_variables = variables
db.session.commit()
return jsonify({"id": dbcss.id})