1
0
Files
into-the-llm/flaskstuff.py
2024-10-06 14:53:14 -07:00

46 lines
1.3 KiB
Python

from flask import Flask, send_file
import os
import subprocess
from datetime import datetime
app = Flask(__name__)
# Folder to store the screenshots
SCREENSHOT_DIR = "/tmp/screenshots"
if not os.path.exists(SCREENSHOT_DIR):
os.makedirs(SCREENSHOT_DIR)
@app.route('/')
def index():
return '''
<h1>Flask Screenshot & Click App</h1>
<p>Take a screenshot: <a href="/screenshot">/screenshot</a></p>
<p>Click at position (x, y): <a href="/click/100/100">/click/x/y</a></p>
'''
@app.route('/screenshot')
def screenshot():
# Generate a screenshot file name
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
screenshot_path = os.path.join(SCREENSHOT_DIR, f'screenshot_{timestamp}.png')
# Capture the screenshot using `scrot`
subprocess.run(['scrot', screenshot_path])
# Return the screenshot file as response
return send_file(screenshot_path, mimetype='image/png')
@app.route('/click/<int:x>/<int:y>')
def click(x, y):
# Perform a click at the specified (x, y) position using `xdotool`
subprocess.run(['xdotool', 'mousemove', str(x), str(y), 'click', '1'])
return f'Click performed at position ({x}, {y})'
@app.route('/htmlthing')
def htmlstuff():
return send_file('htmlthing.html', mimetype='text/html')
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)