flaskapp.py 829 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import subprocess
  2. from flask import Flask, render_template
  3. from dotenv import load_dotenv
  4. import os
  5. load_dotenv()
  6. app = Flask(__name__)
  7. @app.route("/")
  8. def home():
  9. result = subprocess.run(
  10. [
  11. os.environ["MCRCON"],
  12. "-H",
  13. os.environ["HOST"],
  14. "-p",
  15. os.environ["PASSWORD"],
  16. "list",
  17. ],
  18. capture_output=True,
  19. text=True,
  20. )
  21. messages = result.stdout.split(": ")
  22. messagelist = messages[0].split(" ")
  23. usercount = messagelist[2]
  24. maxcount = messagelist[7]
  25. userlist = None
  26. if len(messages) > 1:
  27. userlist = messages[1].split(", ")
  28. return render_template(
  29. "home.html", usercount=usercount, maxcount=maxcount, userlist=userlist
  30. )
  31. if __name__ == "__main__":
  32. app.run(debug=True)