sneed
This commit is contained in:
parent
242fb8414e
commit
fe8c633f30
949 changed files with 200 additions and 200 deletions
87
drama/helpers/jinja2.py
Normal file
87
drama/helpers/jinja2.py
Normal file
|
@ -0,0 +1,87 @@
|
|||
from os import environ, path
|
||||
import calendar
|
||||
from .get import *
|
||||
from drama.__main__ import app, cache
|
||||
|
||||
|
||||
@app.template_filter("total_users")
|
||||
@cache.memoize(timeout=60)
|
||||
def total_users(x):
|
||||
|
||||
return db.query(User).filter_by(is_banned=0).count()
|
||||
|
||||
|
||||
@app.template_filter("source_code")
|
||||
@cache.memoize(timeout=60 * 60 * 24)
|
||||
def source_code(file_name):
|
||||
|
||||
return open(path.expanduser('~') + '/drama/' +
|
||||
file_name, mode="r+").read()
|
||||
|
||||
|
||||
@app.template_filter("full_link")
|
||||
def full_link(url):
|
||||
|
||||
return f"https://{app.config['SERVER_NAME']}{url}"
|
||||
|
||||
|
||||
@app.template_filter("env")
|
||||
def env_var_filter(x):
|
||||
|
||||
x = environ.get(x, 1)
|
||||
|
||||
try:
|
||||
return int(x)
|
||||
except BaseException:
|
||||
try:
|
||||
return float(x)
|
||||
except BaseException:
|
||||
return x
|
||||
|
||||
|
||||
@app.template_filter("js_str_escape")
|
||||
def js_str_escape(s):
|
||||
|
||||
s = s.replace("'", r"\'")
|
||||
|
||||
return s
|
||||
|
||||
|
||||
@app.template_filter("is_mod")
|
||||
@cache.memoize(60)
|
||||
def jinja_is_mod(uid, bid):
|
||||
|
||||
return bool(get_mod(uid, bid))
|
||||
|
||||
@app.template_filter("coin_goal")
|
||||
@cache.cached(timeout=600, key_prefix="premium_coin_goal")
|
||||
def coin_goal(x):
|
||||
|
||||
now = time.gmtime()
|
||||
midnight_month_start = time.struct_time((now.tm_year,
|
||||
now.tm_mon,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
now.tm_wday,
|
||||
now.tm_yday,
|
||||
0)
|
||||
)
|
||||
cutoff = calendar.timegm(midnight_month_start)
|
||||
|
||||
coins=g.db.query(func.sum(PayPalTxn.coin_count)).filter(
|
||||
PayPalTxn.created_utc>cutoff,
|
||||
PayPalTxn.status==3).all()[0][0] or 0
|
||||
|
||||
|
||||
return int(100*coins/1000)
|
||||
|
||||
|
||||
@app.template_filter("app_config")
|
||||
def app_config(x):
|
||||
return app.config.get(x)
|
||||
|
||||
# @app.template_filter("general_chat_count")
|
||||
# def general_chat_count(x):
|
||||
# return get_guild("general").chat_count
|
Loading…
Add table
Add a link
Reference in a new issue