File size: 1,398 Bytes
1c05d4a 97680fb 3b68ded 97680fb 1c05d4a e1d5167 1c05d4a e1d5167 1c05d4a e1d5167 1c05d4a 57f037b 1567f17 57f037b 1c05d4a e1d5167 1c05d4a 383b9fb 1c05d4a 97680fb 1c05d4a 97680fb 1c05d4a eefb8f1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
from flask import Flask, render_template, request, jsonify
import zipfile
import os
import time
app = Flask(__name__)
UPLOAD_FOLDER = "ipv4"
EXTRACT_FOLDER = "ipv4"
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
os.makedirs(EXTRACT_FOLDER, exist_ok=True)
progress = 0 # Global progress variable
@app.route("/", methods=["GET", "POST"])
def index():
return render_template("index.html")
@app.route("/upload", methods=["POST"])
def upload():
global progress
zip_file = request.files["zip_file"]
extract_to = request.form.get("extract_path")
if zip_file and extract_to:
os.makedirs(extract_to, exist_ok=True)
zip_path = os.path.join(UPLOAD_FOLDER, zip_file.filename)
zip_file.save(zip_path)
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
files = zip_ref.namelist()
total_files = len(files)
for i, file in enumerate(files):
zip_ref.extract(file, extract_to)
progress = ((i + 1) / total_files) * 100
time.sleep(0.1) # Simulate progress update
return jsonify({"message": "✅ Extracted Successfully!", "progress": 100})
return jsonify({"message": "❌ Error Extracting!"}), 400
@app.route("/progress", methods=["GET"])
def get_progress():
return jsonify({"progress": progress})
if __name__ == "__main__":
app.run(host='0.0.0.0', port=7860) |