Spaces:
Paused
Paused
from flask import Flask, render_template, request, jsonify | |
from form_filler import FormFiller | |
import threading | |
import os | |
# Specify the cache directory as an environment variable | |
os.environ['CACHE_FOLDER'] = os.path.join(os.getcwd(), '.cache') | |
app = Flask(__name__) | |
form_filler = FormFiller() | |
def index(): | |
return render_template('index.html') | |
def start_form_filling(): | |
url = request.json['url'] | |
iterations = int(request.json['iterations']) | |
def run_form_filler(): | |
form_filler.fill_form_in_parallel(url, iterations) | |
form_filler.total_iterations = iterations | |
form_filler.iterations_left = iterations | |
form_filler.responses_sent = 0 | |
form_filler.errors = 0 | |
form_filler.environment_status = [] | |
thread = threading.Thread(target=run_form_filler) | |
thread.start() | |
return jsonify({"message": "Form filling started"}) | |
def stop_form_filling(): | |
form_filler.stop() | |
return jsonify({"message": "Form filling stopped"}) | |
def get_status(): | |
with form_filler.lock: | |
if form_filler.responses_sent == 0 and form_filler.errors == 0 and form_filler.iterations_left == form_filler.total_iterations: | |
# This condition checks if everything is still initializing | |
return jsonify({ | |
"total_iterations": form_filler.total_iterations, | |
"responses_sent": None, # Return None instead of 0 to indicate uninitialized | |
"errors": None, | |
"iterations_left": form_filler.iterations_left, | |
"environment_status": None | |
}) | |
else: | |
return jsonify({ | |
"total_iterations": form_filler.total_iterations, | |
"responses_sent": form_filler.responses_sent, | |
"errors": form_filler.errors, | |
"iterations_left": form_filler.iterations_left, | |
"environment_status": list(form_filler.environment_status) | |
}) | |
if __name__ == '__main__': | |
app.run() | |