puredata/web_server.py

59 lines
1.7 KiB
Python

import bottle
import os.path
import subprocess
HOST = "0.0.0.0"
PORT = 8000
# this script runs a small webserver on HOST:PORT that return the class course
# all assets are stored in ./resources and available for download
# the main page can be visited by going to "http://HOST:PORT/puredata"
# the bottle framework is needed to run this script
# you can install it with "python3 -m pip install --user bottle"
@bottle.route("/")
def index():
return bottle.static_file("language.html", root="./")
@bottle.route("/en")
def index():
return bottle.static_file("index_en.html", root="./")
@bottle.route("/fr")
def index():
return bottle.static_file("index_fr.html", root="./")
@bottle.route("/<filename>")
def index(filename):
if filename == "puredata":
return bottle.static_file("index.html", root="./")
else:
return bottle.static_file(filename, root="./")
@bottle.route("/screenshots/<filename>")
def resources(filename):
return bottle.static_file(filename, root="screenshots")
@bottle.route("/resources/<filename>")
def resources(filename):
return bottle.static_file(filename, root="resources")
def main():
print("pulling latest github push")
status = subprocess.call(["git", "pull", "origin"])
if status is not 0:
print("error pulling froom github...")
exit()
print("generating FR doc now with pandoc")
status = subprocess.call(["pandoc", "puredata_fr.md", "-o", "index_fr.html"])
print("generating EN doc now with pandoc")
status = subprocess.call(["pandoc", "puredata.md", "-o", "index_en.html"])
if status is 0:
print("success... will run now!")
bottle.run(host=HOST, port=PORT)
if __name__ == "__main__":
main()