microbamboo/logging
0
1import os2import uuid3import shutil4import hashlib5import datetime6from flask import Flask, request7 8def get_key_sha256(key):9 sha256 = hashlib.sha256()10 sha256.update(key.encode('utf-8'))11 return sha256.hexdigest()12 13match_sha256 = 'ffa007286cff75ab9c14e42282edd8e7e28b467a6e1bcd3d9b90dc40d375cae3'14 15data_folder = 'static'16if not os.path.isdir(data_folder):17 os.makedirs(data_folder)18 19app = Flask(__name__, static_url_path='')20@app.route("/put", methods = ['POST'])21def put():22 d = request.json23 key = d['key']24 if not get_key_sha256(key) == match_sha256:25 return 'err'26 msg = d['msg']27 now = str(datetime.datetime.now()).replace(':', '_')28 file_name = now + '___'+str(uuid.uuid4())29 open(os.path.join(data_folder, file_name), 'w').write(msg)30 return 'ok'31 32@app.route("/get", methods = ['GET'])33def get():34 d = request.headers35 key = d['Key']36 if not get_key_sha256(key) == match_sha256:37 return 'err'38 files = sorted(os.listdir(data_folder))39 txt = ''40 for f in files:41 ff = f.split('___')[0]42 ff = ff.replace('_', ':')43 txt += ff+':'44 txt += open(os.path.join(data_folder, f)).read()+'\n'45 return txt46 47@app.route("/clear", methods = ['GET'])48def clear():49 d = request.headers50 key = d['Key']51 if not get_key_sha256(key) == match_sha256:52 return 'err'53 shutil.rmtree(data_folder)54 os.makedirs(data_folder)55 return 'ok'56 57if __name__ == "__main__":58 app.run(host="0.0.0.0", port=7860, debug=True)59 