Untitled
unknown
plain_text
a year ago
1.5 kB
3
Indexable
import os
import subprocess
from flask import Flask, render_template_string, request
app = Flask(__name__)
# Directory where your Python scripts are located
SCRIPTS_DIR = './scripts'
# HTML template for listing scripts
template = '''
<!DOCTYPE html>
<html>
<head>
<title>Python Script Launcher</title>
</head>
<body>
<h1>Available Python Scripts</h1>
<ul>
{% for script in scripts %}
<li>
<form method="post" action="/run">
<input type="hidden" name="script" value="{{ script }}">
<button type="submit">{{ script }}</button>
</form>
</li>
{% endfor %}
</ul>
</body>
</html>
'''
@app.route('/')
def list_scripts():
# Get all Python scripts in the directory
scripts = [f for f in os.listdir(SCRIPTS_DIR) if f.endswith('.py')]
return render_template_string(template, scripts=scripts)
@app.route('/run', methods=['POST'])
def run_script():
script_name = request.form['script']
script_path = os.path.join(SCRIPTS_DIR, script_name)
# Run the selected script
try:
result = subprocess.run(['python', script_path], capture_output=True, text=True)
output = result.stdout or result.stderr
return f'<pre>{output}</pre><br><a href="/">Back to scripts</a>'
except Exception as e:
return f'<pre>Error: {e}</pre><br><a href="/">Back to scripts</a>'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)Editor is loading...
Leave a Comment