10
10
BASE_URL = os .environ .get ("BASE_URL" )
11
11
PASSWORD_HEADER = os .environ .get ("PASSWORD_HEADER" )
12
12
13
-
14
-
15
13
def make_api_request (request_data ):
16
14
17
15
# Make an HTTP POST request to the API
@@ -20,17 +18,14 @@ def make_api_request(request_data):
20
18
print (request_data )
21
19
response = requests .post (url , json = request_data , headers = {"PASSWORD_HEADER" : PASSWORD_HEADER })
22
20
response .raise_for_status () # Raise an exception for HTTP errors (4xx and 5xx)
21
+
22
+ print (f"API response status: { response .status_code } " )
23
+ print (f"API response: { response .json ()} " )
24
+ return
23
25
24
- # Handle the API response here
25
- response_data = response .json ()
26
- return response_data
27
26
except requests .exceptions .RequestException as e :
28
27
print (f"Error making the API request: { e } " )
29
- return None
30
28
31
-
32
-
33
-
34
29
def load_problems ():
35
30
with tempfile .TemporaryDirectory () as base_path :
36
31
Repo .clone_from ("https://github.com/kyle8998/Practice-Coding-Questions.git" , base_path )
@@ -63,24 +58,30 @@ def load_problems():
63
58
def parse (qn ):
64
59
try :
65
60
qn = qn .split ("\n " )
61
+
66
62
title = qn [0 ][2 :]
67
63
qn .pop (0 )
64
+
68
65
while qn [0 ].strip () == "" :
69
66
qn .pop (0 )
67
+
70
68
difficulty = qn [0 ].split (" " )[2 ].strip ().upper ()
69
+ difficulty = difficulty [0 ].upper () + difficulty [1 :].lower ()
70
+
71
71
qn .pop (0 )
72
72
while qn [0 ].strip () == "" :
73
73
qn .pop (0 )
74
74
75
- if difficulty not in ["EASY" , "MEDIUM" , "HARD" ]:
75
+ qn = '\n ' .join (qn )
76
+
77
+ if difficulty not in ["Easy" , "Medium" , "Hard" ]:
76
78
return None
77
79
78
80
if title .split (" " )[0 ] != "Problem" and title .split (" " )[1 ][- 1 ] != ":" :
79
81
return None
80
82
else :
81
83
title = " " .join (title .split (" " )[2 :])
82
84
83
- qn = '\n ' .join (qn )
84
85
85
86
search_space = title + qn
86
87
tags = []
@@ -91,23 +92,14 @@ def parse(qn):
91
92
if tags == []:
92
93
return None
93
94
94
- return { "title" : title , "difficulty" : difficulty , "question " : qn , "tags" : tags }
95
+ return { "title" : title , "difficulty" : difficulty , "description " : qn , "tags" : tags }
95
96
except :
96
97
return None
97
98
98
- def send_to_questions_service (qn ):
99
- data = {}
100
- data ['title' ] = qn ["title" ]
101
- data ['difficulty' ] = qn ["difficulty" ][0 ].upper () + qn ["difficulty" ][1 :].lower ()
102
- data ['description' ] = qn ["question" ]
103
- data ['tags' ] = qn ["tags" ]
104
-
105
- response = make_api_request (data )
106
-
107
99
problems = load_problems ()
108
100
problems = [parse (qn ) for qn in problems ]
109
101
problems = [qn for qn in problems if qn is not None ]
110
102
print (f"Total number of questions parsed: { len (problems )} " )
111
103
112
104
for qn in [problems [3 ]]:
113
- send_to_questions_service (qn )
105
+ make_api_request (qn )
0 commit comments