diff --git a/frontend/src/pages/Upload.tsx b/frontend/src/pages/Upload.tsx index fc3b243..db1ad3d 100644 --- a/frontend/src/pages/Upload.tsx +++ b/frontend/src/pages/Upload.tsx @@ -7,20 +7,22 @@ import StatsStyling from "../styles/stats_styling"; const styles = StatsStyling; const UploadPage = () => { - let postFile: File | undefined - let commentFile: File | undefined + let postFile: File | undefined; + let commentFile: File | undefined; + let topicBucketFile: File | undefined; const [returnMessage, setReturnMessage] = useState('') const navigate = useNavigate() const uploadFiles = async () => { - if (!postFile || !commentFile) { - alert('Please select both files before uploading.') + if (!postFile || !commentFile || !topicBucketFile) { + alert('Please upload all files before uploading.') return } const formData = new FormData() formData.append('posts', postFile) formData.append('comments', commentFile) + formData.append('topics', topicBucketFile) try { const response = await axios.post('http://localhost:5000/upload', formData, { @@ -40,11 +42,15 @@ const UploadPage = () => {

Posts File

- postFile = e.target.files?.[0]}> + postFile = e.target.files?.[0]}>

Comments File

- commentFile = e.target.files?.[0]}> + commentFile = e.target.files?.[0]}> +
+
+

Topic Buckets File

+ topicBucketFile = e.target.files?.[0]}>
diff --git a/server/app.py b/server/app.py index 7e062b9..5c31c99 100644 --- a/server/app.py +++ b/server/app.py @@ -20,17 +20,17 @@ stat_obj = StatGen(posts_df, comments_df, domain_topics) @app.route('/upload', methods=['POST']) def upload_data(): - if "posts" not in request.files or "comments" not in request.files or "topics" not in request.form: + if "posts" not in request.files or "comments" not in request.files or "topics" not in request.files: return jsonify({"error": "Missing required files or form data"}), 400 post_file = request.files["posts"] comment_file = request.files["comments"] - topic_file = request.form["topics"] + topic_file = request.files["topics"] if post_file.filename == "" or comment_file.filename == "" or topic_file == "": return jsonify({"error": "Empty filename"}), 400 - if not post_file.filename.endswith('.jsonl') or not comment_file.filename.endswith('.jsonl') or not topic_file.endswith('.json'): + if not post_file.filename.endswith('.jsonl') or not comment_file.filename.endswith('.jsonl') or not topic_file.filename.endswith('.json'): return jsonify({"error": "Invalid file type. Only .jsonl and .json files are allowed."}), 400 try: