Skip to content

Commit fcf6f83

Browse files
committed
changes for submission preparation
1 parent ebc3eae commit fcf6f83

File tree

3 files changed

+66
-21
lines changed

3 files changed

+66
-21
lines changed
Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,45 @@
11
from leetcode.models import *
22

33
class getQuestionDetail(QueryTemplate):
4-
def __init__(self):
4+
def __init__(self, title_slug: str):
55
super().__init__()
6-
# Instance specific variables
7-
self.question_slug = ""
8-
6+
# Instance-specific variables
7+
self._title_slug = title_slug
8+
99
self.graphql_query = None
1010
self.result = None
11-
self.params = {'titleSlug': 'two-sum'}
12-
11+
self.params = {'titleSlug': title_slug}
12+
13+
# Initialize variables to store query data
14+
self._question_data = None
15+
self.execute()
16+
1317
def execute(self):
1418
self.graphql_query = GraphQLQuery(self.query, self.params)
1519
self.result = self.leet_API.post_query(self.graphql_query)
16-
print(self.result)
17-
20+
# Store the entire question data
21+
self._question_data = self.result.get('data', {}).get('question', {})
22+
23+
@property
24+
def title_slug(self):
25+
return self._title_slug
26+
27+
@property
28+
def question_id(self):
29+
return self._question_data.get('questionId')
30+
31+
@property
32+
def question_frontend_id(self):
33+
return self._question_data.get('questionFrontendId')
34+
35+
@property
36+
def title(self):
37+
return self._question_data.get('title')
1838

19-
instance = getQuestionDetail()
20-
instance.execute()
39+
@property
40+
def content(self):
41+
return self._question_data.get('content')
42+
43+
@property
44+
def sample_test_case(self):
45+
return self._question_data.get('sampleTestCase')

leetcode/models/problem_by_id_slug.py

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,40 @@
1-
from . import *
1+
from leetcode.models import *
2+
from leetcode.configuration import Configuration
3+
from leetcode.leet_api import LeetAPI
24

3-
class problemByIDSlug(QueryTemplate):
5+
class problemInfo():
6+
API_URL = "https://leetcode.com/api/problems/all/"
7+
configuration = Configuration()
8+
leet_api = LeetAPI(configuration)
9+
410
def __init__(self):
5-
super().__init__()
6-
self.api_url = "https://leetcode.com/api/problems/all/"
711
self.title_slug: str = None
812

13+
@classmethod
14+
def get_title_slug(cls, question_id: int) -> str:
15+
response = cls.leet_api.get_request(cls.API_URL)
16+
for item in response.get('stat_status_pairs', []):
17+
if item['stat'].get('question_id') == question_id:
18+
return item['stat'].get('question__title_slug', '')
19+
return None
20+
21+
@classmethod
22+
def get_id(cls, title_slug: str) -> int:
23+
response = cls.leet_api.get_request(cls.API_URL)
24+
for item in response.get('stat_status_pairs', []):
25+
if item['stat'].get('question__title_slug') == title_slug:
26+
return item['stat'].get('question_id', 0)
27+
return None
28+
929
def execute(self, args):
10-
RESULT = self.leet_API.get_request(self.api_url)
30+
result = self.leet_api.get_request(self.API_URL)
1131
if getattr(args, 'id'):
12-
for x in RESULT['stat_status_pairs']:
13-
if x['stat']['question_id'] == args.id:
14-
self.title_slug = x['stat']['question__title_slug']
32+
for item in result.get('stat_status_pairs', []):
33+
if item['stat'].get('question_id') == args.id:
34+
self.title_slug = item['stat'].get('question__title_slug', '')
1535
break
16-
if self.title_slug is None:
17-
console.print("Invalid ID have been provided. Please try again.", style=ALERT)
36+
if not self.title_slug:
37+
console.print("Invalid ID has been provided. Please try again.", style=ALERT)
1838
sys.exit(1)
1939
elif getattr(args, 'slug'):
2040
self.title_slug = args.slug

leetcode/queries.graphql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ query submissionList($offset: Int!, $limit: Int!, $lastKey: String, $questionSlu
183183
}
184184
}
185185
}
186-
186+
187187
query getQuestionDetail($titleSlug: String!) {
188188
question(titleSlug: $titleSlug) {
189189
questionId

0 commit comments

Comments
 (0)