Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost
|
@ -127,7 +127,7 @@ def teardown_request(error):
|
|||
|
||||
if app.config["SERVER_NAME"] == 'localhost':
|
||||
from files.routes import *
|
||||
from files.routes.chat import *
|
||||
# from files.routes.chat import *
|
||||
elif "load_chat" in argv:
|
||||
from files.routes.chat import *
|
||||
else:
|
||||
|
|
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 103 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 24 KiB |
|
@ -24,7 +24,7 @@ def shop(v):
|
|||
AWARDS = deepcopy(AWARDS2)
|
||||
|
||||
if v.house:
|
||||
AWARDS[v.house] = HOUSE_AWARDS[v.house]
|
||||
AWARDS[v.house] = deepcopy(HOUSE_AWARDS[v.house])
|
||||
|
||||
for val in AWARDS.values(): val["owned"] = 0
|
||||
|
||||
|
@ -33,6 +33,8 @@ def shop(v):
|
|||
|
||||
for val in AWARDS.values():
|
||||
val["baseprice"] = int(val["price"])
|
||||
if val["kind"].endswith('Founder'):
|
||||
val["baseprice"] = int(val["baseprice"] / 0.75)
|
||||
val["price"] = int(val["price"] * v.discount)
|
||||
|
||||
sales = g.db.query(func.sum(User.coins_spent)).scalar()
|
||||
|
|
|
@ -615,6 +615,9 @@ def settings_profilecss(v):
|
|||
@auth_required
|
||||
def settings_block_user(v):
|
||||
|
||||
if v.unblockable:
|
||||
return {"error": "Users with 'unblockable' award can't block others."}, 403
|
||||
|
||||
user = get_user(request.values.get("username"), graceful=True)
|
||||
|
||||
if not user: return {"error": "That user doesn't exist."}, 404
|
||||
|
|
|
@ -26,18 +26,6 @@
|
|||
html {
|
||||
cursor:url('/i/dildo.webp?v=2000'), auto;
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::before {
|
||||
content: "((("
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::after {
|
||||
content: ")))"
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary {
|
||||
font-size: 0 !important
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary i {
|
||||
font-size: 11px !important
|
||||
}
|
||||
</style>
|
||||
{% elif v.css %}
|
||||
<style>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<input type="hidden" name="formkey", value="{{v.formkey}}">
|
||||
<div class="card-columns award-columns awards-wrapper">
|
||||
{% for award in v.user_awards %}
|
||||
<a role="button" id="{{award.kind}}" class="card" onclick="pick('{{award.kind}}', {{award.price}}*{{v.discount}} <= {{v.procoins}}, {{award.price}}*{{v.discount}} <= {{v.coins}})">
|
||||
<a data-bs-toggle="tooltip" data-bs-placement="bottom" title="{{award.description}}" role="button" id="{{award.kind}}" class="card" onclick="pick('{{award.kind}}', {{award.price}}*{{v.discount}} <= {{v.procoins}}, {{award.price}}*{{v.discount}} <= {{v.coins}})">
|
||||
<i class="{{award.icon}} {{award.color}}"></i>
|
||||
<div class="pt-2" style="font-weight: bold; font-size: 14px; color:#E1E1E1">{{award.title}}</div>
|
||||
<div class="text-muted"><span id="{{award.kind}}-owned">{{award.owned}}</span> owned</div>
|
||||
|
|
|
@ -23,18 +23,6 @@
|
|||
html {
|
||||
cursor:url('/i/dildo.webp?v=2000'), auto;
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::before {
|
||||
content: "((("
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::after {
|
||||
content: ")))"
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary {
|
||||
font-size: 0 !important
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary i {
|
||||
font-size: 11px !important
|
||||
}
|
||||
</style>
|
||||
{% elif v.css %}
|
||||
<style>
|
||||
|
|
|
@ -13,18 +13,6 @@
|
|||
html {
|
||||
cursor:url('/i/dildo.webp?v=2000'), auto;
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::before {
|
||||
content: "((("
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::after {
|
||||
content: ")))"
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary {
|
||||
font-size: 0 !important
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary i {
|
||||
font-size: 11px !important
|
||||
}
|
||||
</style>
|
||||
{% elif v.css %}
|
||||
<style>
|
||||
|
|
|
@ -41,18 +41,6 @@
|
|||
html {
|
||||
cursor:url('/i/dildo.webp?v=2000'), auto;
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::before {
|
||||
content: "((("
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::after {
|
||||
content: ")))"
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary {
|
||||
font-size: 0 !important
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary i {
|
||||
font-size: 11px !important
|
||||
}
|
||||
</style>
|
||||
{% elif v.css and not request.path.startswith('/settings/css') %}
|
||||
<style>
|
||||
|
|
|
@ -72,9 +72,11 @@
|
|||
<td class="shop-table-icon"><i class="{{a['icon']}} {{a['color']}}" style="font-size: 30px"></i></td>
|
||||
<td class="shop-table-title">{{a['title']}}</td>
|
||||
{% if a['baseprice'] != a['price'] %}
|
||||
<td class="shop-table-price"><strike>{{a['baseprice']}}</strike> <em class="text-success">{{a['price']}}</em></td>
|
||||
<td class="shop-table-price">
|
||||
<strike>{{a['baseprice']}}</strike> <em class="text-success">{{a['price']}}</em>
|
||||
</td>
|
||||
{% else %}
|
||||
<td class="shop-table-price">{{a['price']}}</td>
|
||||
<td class="shop-table-price">{{a['price']}}</td>
|
||||
{% endif %}
|
||||
<td class="shop-table-owned">{{a['owned']}}</td>
|
||||
{% set kind = a['kind'] %}
|
||||
|
|
|
@ -34,18 +34,6 @@
|
|||
html {
|
||||
cursor:url('/i/dildo.webp?v=2000'), auto;
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::before {
|
||||
content: "((("
|
||||
}
|
||||
.nav-item .text-small.font-weight-bold::after {
|
||||
content: ")))"
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary {
|
||||
font-size: 0 !important
|
||||
}
|
||||
.nav-item .text-small-extra.text-primary i {
|
||||
font-size: 11px !important
|
||||
}
|
||||
</style>
|
||||
{% elif v.css %}
|
||||
<style>
|
||||
|
|
|
@ -14,6 +14,7 @@ gunicorn
|
|||
lxml
|
||||
mistletoe
|
||||
matplotlib
|
||||
owoify-py
|
||||
Pillow
|
||||
pyotp
|
||||
qrcode
|
||||
|
|
|
@ -5,7 +5,7 @@ logfile=/tmp/supervisord.log
|
|||
|
||||
[program:service]
|
||||
directory=/service
|
||||
command=gunicorn files.__main__:app -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 --reload -b 0.0.0.0:80 --max-requests 1000 --max-requests-jitter 500
|
||||
command=gunicorn files.__main__:app -k gevent -w 1 --reload -b 0.0.0.0:80 --max-requests 30000 --max-requests-jitter 10000
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
|
|