Skip to content

Commit 631dda2

Browse files
committed
Complete logic for A6
1 parent 6518bb8 commit 631dda2

File tree

3 files changed

+22
-9
lines changed

3 files changed

+22
-9
lines changed

questions/src/router/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import express from "express";
22
import { questions, serverlessQuestions } from "./questions";
33

4+
const router = express.Router();
5+
46
export const normalRouter = (): express.Router => {
57
questions(router);
68
return router;
79
};
810

911
export const serverlessRouter = (): express.Router => {
10-
const router = express.Router();
1112
serverlessQuestions(router);
1213
return router;
1314
};

questions/src/router/questions.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,5 @@ export const questions = (router: express.Router) => {
1818
};
1919

2020
export const serverlessQuestions = (router: express.Router) => {
21-
router.post("/questions", (req, res) => {
22-
console.log("Hello world");
23-
res.send("Hello world");
24-
});
21+
router.post("/questions", createQuestion);
2522
};

serverless/run.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def make_api_request(request_data):
1717
# Make an HTTP POST request to the API
1818
url = f"{BASE_URL}/api/serverless/questions"
1919
try:
20+
print (request_data)
2021
response = requests.post(url, json=request_data, headers={"PASSWORD_HEADER": PASSWORD_HEADER})
2122
response.raise_for_status() # Raise an exception for HTTP errors (4xx and 5xx)
2223

@@ -57,6 +58,8 @@ def load_problems():
5758
print(f"Total number of questions found: {len(problems)}")
5859
return problems
5960

61+
tags_to_search = ["Stack", "Array", "Tree", "Hash Table", "Binary Search"]
62+
6063
def parse(qn):
6164
try:
6265
qn = qn.split("\n")
@@ -77,15 +80,27 @@ def parse(qn):
7780
else:
7881
title = " ".join(title.split(" ")[2:])
7982

80-
return { "title": title, "difficulty": difficulty, "question": qn}
83+
qn = '\n'.join(qn)
84+
85+
search_space = title + qn
86+
tags = []
87+
for tag in tags_to_search:
88+
if tag.lower() in search_space.lower():
89+
tags.append(tag)
90+
91+
if tags == []:
92+
return None
93+
94+
return { "title": title, "difficulty": difficulty, "question": qn, "tags": tags}
8195
except:
8296
return None
8397

8498
def send_to_questions_service(qn):
8599
data = {}
86100
data['title'] = qn["title"]
87-
data['difficulty'] = qn["difficulty"]
88-
data['question'] = qn["question"]
101+
data['difficulty'] = qn["difficulty"][0].upper() + qn["difficulty"][1:].lower()
102+
data['description'] = qn["question"]
103+
data['tags'] = qn["tags"]
89104

90105
response = make_api_request(data)
91106

@@ -94,5 +109,5 @@ def send_to_questions_service(qn):
94109
problems = [qn for qn in problems if qn is not None]
95110
print(f"Total number of questions parsed: {len(problems)}")
96111

97-
for qn in [problems[0]]:
112+
for qn in [problems[3]]:
98113
send_to_questions_service(qn)

0 commit comments

Comments
 (0)