import os from flask import Flask, request, json, jsonify app = Flask(__name__) @app.route('/hook', methods=['POST']) def push_hook(): data = json.loads(request.get_data(as_text=True)) name = data['repository']['name'] clone_url = data['repository']['clone_url'] with open('dest.json', 'r', encoding='utf8') as f: dest_dict = json.load(f) dest = os.path.join(dest_dict[name], f'{name}.tar.gz') download(name, clone_url, dest) return jsonify({'msg': 'ok'}) def download(name, clone_url, dest): os.system(f'rm -rf /tmp/{name}') os.system(f'git clone {clone_url} /tmp/{name}') os.system(f'cd /tmp && tar -czvf {dest} {name} ') os.system(f'rm -rf /tmp/{name}') if __name__ == '__main__': print(__name__) app.run(host='0.0.0.0', port=5000)