From fafdbdee2433bab29cdefa4d3e8391f3b8d0f6c8 Mon Sep 17 00:00:00 2001 From: kf_wuhao <15392746632@qq.com> Date: Thu, 14 Jan 2021 15:14:41 +0800 Subject: [PATCH] init --- .gitignore | 1 + Pipfile | 11 +++++++++++ dest.json | 3 +++ main.py | 29 +++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 Pipfile create mode 100644 dest.json create mode 100644 main.py diff --git a/.gitignore b/.gitignore index 13d1490..5eb5836 100644 --- a/.gitignore +++ b/.gitignore @@ -128,4 +128,5 @@ dmypy.json # Pyre type checker .pyre/ +.idea diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..9534830 --- /dev/null +++ b/Pipfile @@ -0,0 +1,11 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[dev-packages] + +[packages] + +[requires] +python_version = "3.6" diff --git a/dest.json b/dest.json new file mode 100644 index 0000000..e6c88af --- /dev/null +++ b/dest.json @@ -0,0 +1,3 @@ +{ + "data_cleaning": "/data/ansible/ansible_xdata/roles/cleaning/files" +} \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..78f1c03 --- /dev/null +++ b/main.py @@ -0,0 +1,29 @@ +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)