30 lines
811 B
Python
30 lines
811 B
Python
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)
|