mirror of
https://github.com/yuukiwww/taiko-web.git
synced 2024-10-22 08:05:44 +02:00
アップロードに制限を設ける
This commit is contained in:
parent
df6b051d17
commit
95cd6717d5
61
app.py
61
app.py
@ -456,7 +456,7 @@ def route_api_preview():
|
||||
@app.route(basedir + 'api/songs')
|
||||
@app.cache.cached(timeout=15)
|
||||
def route_api_songs():
|
||||
songs = list(db.songs.find({'enabled': True}, {'_id': False, 'enabled': False}).sort({"order":-1}).limit(1000))
|
||||
songs = list(db.songs.find({'enabled': True}, {'_id': False, 'enabled': False}))
|
||||
for song in songs:
|
||||
if song['maker_id']:
|
||||
if song['maker_id'] == 0:
|
||||
@ -774,6 +774,9 @@ def send_upload(ref):
|
||||
|
||||
@app.route("/upload", methods=["POST"])
|
||||
def upload_file():
|
||||
if client.taiko.songs.count_documents({}) >= 5000:
|
||||
return flask.jsonify({"error": "既に追加されている曲が多すぎます"})
|
||||
|
||||
try:
|
||||
# POSTリクエストにファイルの部分がない場合
|
||||
if 'file_tja' not in flask.request.files or 'file_music' not in flask.request.files:
|
||||
@ -844,62 +847,6 @@ def delete():
|
||||
|
||||
return flask.jsonify({'success': True})
|
||||
|
||||
@app.route("/cloudflare")
|
||||
def cloudflare():
|
||||
token = flask.request.headers.get("X-Token")
|
||||
zone_id = flask.request.args.get("zone_id")
|
||||
|
||||
today = datetime.datetime.now()
|
||||
last_month = today - datetime.timedelta(days=30)
|
||||
|
||||
query = """{
|
||||
viewer {
|
||||
zones(filter: {
|
||||
zoneTag: $zoneTag
|
||||
}) {
|
||||
httpRequests1dGroups(
|
||||
orderBy: [date_ASC],
|
||||
limit: $limit,
|
||||
filter: {
|
||||
date_gt: $from,
|
||||
date_leq: $to
|
||||
}
|
||||
) {
|
||||
dimensions {
|
||||
date
|
||||
}
|
||||
sum {
|
||||
bytes
|
||||
cachedBytes
|
||||
}
|
||||
uniq {
|
||||
uniques
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
variables = {
|
||||
"zoneTag": zone_id,
|
||||
"from": last_month.astimezone(datetime.timezone.utc).strftime("%Y-%m-%d"),
|
||||
"to": today.astimezone(datetime.timezone.utc).strftime("%Y-%m-%d"),
|
||||
"limit": 30
|
||||
}
|
||||
data = {
|
||||
"query": query,
|
||||
"variables": variables
|
||||
}
|
||||
result = requests.post(
|
||||
url="https://api.cloudflare.com/client/v4/graphql",
|
||||
headers={
|
||||
"Authorization": f"Bearer {token}"
|
||||
},
|
||||
data=json.dumps(data)
|
||||
)
|
||||
|
||||
return cache_wrap(flask.jsonify(result.json()), 60)
|
||||
|
||||
if __name__ == '__main__':
|
||||
import argparse
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user