Skip to content

Commit 735903d

Browse files
committed
improved for reproduction
1 parent 534ef4d commit 735903d

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

backend/dendogram_controller.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,13 @@
1212
logging.basicConfig(level=logging.INFO, encoding='utf-8')
1313
bp = Blueprint('dendogram', __name__, url_prefix='/dendogram')
1414

15-
16-
17-
1815
@bp.route('/generate', methods=['POST'])
1916
def generate_dendogram():
2017
preprocessing = request.args.get('preprocessing', 'false').lower() == 'true'
2118
affinity = request.args.get('affinity', 'bert')
2219
linkage = request.args.get('linkage', 'average')
2320
metric = request.args.get('metric', 'cosine')
24-
threshold = float(request.args.get('threshold', None))
21+
threshold = float(request.args.get('threshold', 0.2))
2522
object_weight = float(request.args.get('obj-weight', 0.25))
2623
verb_weight = float(request.args.get('verb-weight', 0.75))
2724
app_name = request.args.get('app_name', 'unknown')
@@ -91,7 +88,7 @@ def generate_dendogram_from_csv():
9188
return make_response("CSV file is required", 400)
9289

9390
file = request.files['file']
94-
if not file.filename.endswith('.model_embeddings'):
91+
if not file.filename.endswith('.csv'):
9592
return make_response("File must be a CSV", 400)
9693

9794
features = []
@@ -110,14 +107,26 @@ def generate_dendogram_from_csv():
110107
"app_name": app_name,
111108
"features": features
112109
}
110+
try:
111+
dendogram_file = dendogram_service.generate_dendogram(preprocessing,
112+
affinity,
113+
metric,
114+
linkage,
115+
threshold,
116+
object_weight,
117+
verb_weight,
118+
request_content)
119+
120+
if threshold is not None:
121+
visualization_service.generate_dendrogram_visualization(dendogram_file)
113122

114-
dendrogram_file = dendogram_service.generate_dendogram(preprocessing,
115-
affinity,
116-
metric,
117-
linkage,
118-
threshold,
119-
object_weight,
120-
verb_weight,
121-
request_content)
123+
return jsonify({
124+
"message": "Dendrogram generated successfully",
125+
"features": features,
126+
"dendrogram_path": dendogram_file,
127+
}), 200
128+
except ValueError as e:
129+
return make_response({"error": str(e)}, 400)
130+
except Exception as e:
131+
return make_response({"error": "An unexpected error occurred", "details": str(e)}, 500)
122132

123-
return jsonify({"message": "Dendrogram generated successfully", "dendrogram_path": dendrogram_file}), 200

0 commit comments

Comments
 (0)