diff --git a/files/routes/static.py b/files/routes/static.py index 25c8482f6..926723701 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -26,15 +26,25 @@ def rdrama(id, title): @app.get("/marseys") @auth_required def marseys(v:User): - marseys = get_marseys(g.db) - authors = get_accounts_dict([m.author_id for m in marseys], v=v, graceful=True, include_shadowbanned=False) - original = os.listdir("/asset_submissions/marseys/original") - for marsey in marseys: - marsey.user = authors.get(marsey.author_id) - for x in IMAGE_FORMATS: + if SITE == 'rdrama.net': + marseys = g.db.query(Marsey, User).join(User, Marsey.author_id == User.id).filter(Marsey.submitter_id==None) + sort = request.values.get("sort", "usage") + if sort == "usage": + marseys = marseys.order_by(Marsey.count.desc(), User.username).all() + elif sort == "added": + marseys = marseys.order_by(nullslast(Marsey.created_utc.desc()), User.username).all() + else: # implied sort == "author" + marseys = marseys.order_by(User.username, Marsey.count.desc()).all() + + original = os.listdir("/asset_submissions/marseys/original") + for marsey, user in marseys: + for x in IMAGE_FORMATS: if f'{marsey.name}.{x}' in original: marsey.og = f'{marsey.name}.{x}' break + else: + marseys = g.db.query(Marsey).filter(Marsey.submitter_id==None).order_by(Marsey.count.desc()) + return render_template("marseys.html", v=v, marseys=marseys) @app.get("/emojis") diff --git a/files/templates/marseys.html b/files/templates/marseys.html index 1a5f1bee3..9d76c2852 100644 --- a/files/templates/marseys.html +++ b/files/templates/marseys.html @@ -5,41 +5,46 @@
- - + + - - {% if FEATURES['ASSET_SUBMISSIONS'] %} - - {% endif %} - - {% if FEATURES['ASSET_SUBMISSIONS'] %} + + {% if SITE == 'rdrama.net' %} + + {% endif %} -{% for marsey in marseys %} - - - - - - {% if FEATURES['ASSET_SUBMISSIONS'] %} - {% set user = marsey.user %} - - {% endif %} - - {% if FEATURES['ASSET_SUBMISSIONS'] %} - - {% endif %} - -{% endfor %} +{% if SITE == 'rdrama.net' %} + {% for marsey, user in marseys %} + + + + + + + + + + {% endfor %} +{% else %} + {% for marsey in marseys %} + + + + + + + {% endfor %} +{% endif %} +
#Name#Name MarseyUsageAuthorAdded onUsageAuthorAdded on Original File
{{loop.index}}{{marsey.name}}:#{{marsey.name}}:{{marsey.count}}{% include "user_in_table.html" %} - {% if marsey.og %} - {{marsey.og}} - {% endif %} -
{{loop.index}}{{marsey.name}}:#{{marsey.name}}:{{marsey.count}}{% include "user_in_table.html" %} + {% if marsey.og %} + {{marsey.og}} + {% endif %} +
{{loop.index}}{{marsey.name}}:#{{marsey.name}}:{{marsey.count}}
- + {% endblock %}