32 lines
690 B
Python
Executable File
32 lines
690 B
Python
Executable File
#!/usr/bin/env python
|
|
import os
|
|
import sys
|
|
import time
|
|
from subprocess import call
|
|
|
|
import config
|
|
|
|
MY_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
try:
|
|
from flask import Flask, request
|
|
except ImportError:
|
|
call(". " + os.path.join(MY_DIR, "venv", "bin", "activate") + "; " + " ".join(sys.argv), shell=True)
|
|
|
|
app = Flask(__name__)
|
|
|
|
COMMAND = os.path.join(MY_DIR, "update-keys")
|
|
|
|
@app.route("/", methods=['POST'])
|
|
def commit ():
|
|
key = request.args.get('key', '')
|
|
if not key == config.GITLAB_KEY:
|
|
return "not ok"
|
|
|
|
time.sleep(1)
|
|
call([COMMAND])
|
|
return "ok"
|
|
|
|
if __name__ == "__main__":
|
|
app.run(host=config.LISTENER_ADDRESS, port=config.LISTENER_PORT)
|