Use an external JSON file to read command map

This commit is contained in:
Tristan B. Velloza Kildaire 2023-03-31 17:28:12 +02:00
parent 57fc53228e
commit c984fc2468
2 changed files with 64 additions and 56 deletions

58
commands.json Normal file
View File

@ -0,0 +1,58 @@
{
"homepage" : {
"dir": "/home/pi/HDD/temp/homepage",
"pre-command": ["git", "pull"],
"command": ["hugo", "-d", "/home/pi/HDD/"]
},
"crxn" : {
"dir": "/home/pi/HDD/temp/crxn",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/crxn"]
},
"bnet": {
"dir": "/home/pi/HDD/temp/bnet",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/bonobonet"]
},
"libtun": {
"dir": "/home/pi/HDD/temp/libtun",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/libtun"]
},
"dlog": {
"dir": "/home/pi/HDD/temp/dlog",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/dlog"]
},
"eventy": {
"dir": "/home/pi/HDD/temp/eventy",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/eventy"]
},
"tasky": {
"dir": "/home/pi/HDD/temp/tasky",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/tasky"]
},
"dnet": {
"dir": "/home/pi/HDD/temp/dnet",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/dnet"]
},
"tlang": {
"dir": "/home/pi/HDD/temp/tlang",
"pre-command": ["git", "pull"],
#"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/tlang"]
"command": ["bash", "doall.sh"]
},
"libpb": {
"dir": "/home/pi/HDD/temp/libpb",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/libpb"]
},
"jstruct": {
"dir": "/home/pi/HDD/temp/jstruct",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/jstruct"]
}
}

62
hook.py
View File

@ -5,69 +5,18 @@ from flask.logging import logging
from flask import request
import subprocess
import os
import json
# Setup the Flask web app.
app = Flask("thing")
commands={
"homepage" : {
"dir": "/home/pi/HDD/temp/homepage",
"pre-command": ["git", "pull"],
"command": ["hugo", "-d", "/home/pi/HDD/"]
},
"crxn" : {
"dir": "/home/pi/HDD/temp/crxn",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/crxn"]
},
"bnet": {
"dir": "/home/pi/HDD/temp/bnet",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/bonobonet"]
},
"libtun": {
"dir": "/home/pi/HDD/temp/libtun",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/libtun"]
},
"dlog": {
"dir": "/home/pi/HDD/temp/dlog",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/dlog"]
},
"eventy": {
"dir": "/home/pi/HDD/temp/eventy",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/eventy"]
},
"tasky": {
"dir": "/home/pi/HDD/temp/tasky",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/tasky"]
},
"dnet": {
"dir": "/home/pi/HDD/temp/dnet",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/dnet"]
},
"tlang": {
"dir": "/home/pi/HDD/temp/tlang",
"pre-command": ["git", "pull"],
#"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/tlang"]
"command": ["bash", "doall.sh"]
},
"libpb": {
"dir": "/home/pi/HDD/temp/libpb",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/libpb"]
},
"jstruct": {
"dir": "/home/pi/HDD/temp/jstruct",
"pre-command": ["git", "pull"],
"command": ["python3", "-m", "mkdocs", "build", "-d", "/home/pi/HDD/projects/jstruct"]
}
}
def initCommands():
global commands
commands = json.loads(file)
@app.route("/build/<site>", methods=["POST"])
def buildHandler(site):
print("Requesting an automatic rebuild of '%s'"%(site))
@ -89,4 +38,5 @@ def buildHandler(site):
# wants this here
return "Ok"
initCommands()
app.run(host="fdd2:cbf2:61bd::2")