Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
|
@@ -52,7 +52,6 @@
|
|
| 52 |
# except Exception as e:
|
| 53 |
# raise HTTPException(status_code=500, detail=f"Error merging roadmaps: {e}")
|
| 54 |
|
| 55 |
-
|
| 56 |
from fastapi import FastAPI, HTTPException
|
| 57 |
from pydantic import BaseModel
|
| 58 |
from typing import List
|
|
@@ -67,7 +66,11 @@ class MergeRoadmapRequest(BaseModel):
|
|
| 67 |
class MergeRoadmapResponse(BaseModel):
|
| 68 |
merged_roadmap: str
|
| 69 |
|
| 70 |
-
def merge_roadmaps(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
# Helper to convert a roadmap's schedule into a dictionary indexed by dates
|
| 72 |
def schedule_to_dict(schedule):
|
| 73 |
return {day["date"]: day for day in schedule}
|
|
@@ -101,15 +104,10 @@ def merge_roadmaps(regular_roadmap, test_roadmaps):
|
|
| 101 |
@app.post("/merge-roadmaps", response_model=MergeRoadmapResponse)
|
| 102 |
def merge_roadmaps_endpoint(request: MergeRoadmapRequest):
|
| 103 |
try:
|
| 104 |
-
# Parse input strings into Python dictionaries
|
| 105 |
-
regular_roadmap = json.loads(request.regular_roadmap)
|
| 106 |
-
test_roadmaps = [json.loads(roadmap) for roadmap in request.test_roadmaps]
|
| 107 |
-
|
| 108 |
# Merge the roadmaps
|
| 109 |
-
merged_roadmap = merge_roadmaps(regular_roadmap, test_roadmaps)
|
| 110 |
|
| 111 |
# Return the merged roadmap as a JSON string
|
| 112 |
return MergeRoadmapResponse(merged_roadmap=json.dumps(merged_roadmap))
|
| 113 |
except Exception as e:
|
| 114 |
raise HTTPException(status_code=400, detail=f"Error merging roadmaps: {str(e)}")
|
| 115 |
-
|
|
|
|
| 52 |
# except Exception as e:
|
| 53 |
# raise HTTPException(status_code=500, detail=f"Error merging roadmaps: {e}")
|
| 54 |
|
|
|
|
| 55 |
from fastapi import FastAPI, HTTPException
|
| 56 |
from pydantic import BaseModel
|
| 57 |
from typing import List
|
|
|
|
| 66 |
class MergeRoadmapResponse(BaseModel):
|
| 67 |
merged_roadmap: str
|
| 68 |
|
| 69 |
+
def merge_roadmaps(regular_roadmap_str, test_roadmaps_str_list):
|
| 70 |
+
# Convert input strings to JSON
|
| 71 |
+
regular_roadmap = json.loads(regular_roadmap_str)
|
| 72 |
+
test_roadmaps = [json.loads(roadmap) for roadmap in test_roadmaps_str_list]
|
| 73 |
+
|
| 74 |
# Helper to convert a roadmap's schedule into a dictionary indexed by dates
|
| 75 |
def schedule_to_dict(schedule):
|
| 76 |
return {day["date"]: day for day in schedule}
|
|
|
|
| 104 |
@app.post("/merge-roadmaps", response_model=MergeRoadmapResponse)
|
| 105 |
def merge_roadmaps_endpoint(request: MergeRoadmapRequest):
|
| 106 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
# Merge the roadmaps
|
| 108 |
+
merged_roadmap = merge_roadmaps(request.regular_roadmap, request.test_roadmaps)
|
| 109 |
|
| 110 |
# Return the merged roadmap as a JSON string
|
| 111 |
return MergeRoadmapResponse(merged_roadmap=json.dumps(merged_roadmap))
|
| 112 |
except Exception as e:
|
| 113 |
raise HTTPException(status_code=400, detail=f"Error merging roadmaps: {str(e)}")
|
|
|