Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jul 7, 2024. It is now read-only.

Commit b14ca10

Browse files
committed
add contest query methods to leetcode.rs
1 parent 9102d6c commit b14ca10

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

‎src/plugins/leetcode.rs

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,64 @@ impl LeetCode {
199199
.await
200200
}
201201

202+
/// Register for a contest
203+
#[named]
204+
pub async fn register_contest(&self, contest: &str) -> Result<Response,Error> {
205+
let url = self.conf.sys.urls.get("contest_register")
206+
.ok_or(Error::NoneError)?
207+
.replace("$contest_slug", contest);
208+
let mut req = make_req!(self, url);
209+
req.mode = Mode::Post(HashMap::new());
210+
req
211+
.send(&self.client)
212+
.await
213+
}
214+
215+
/// Get contest info
216+
#[named]
217+
pub async fn get_contest_info(&self, contest: &str) -> Result<Response, Error> {
218+
trace!("Requesting {} detail...", contest);
219+
let url = &self.conf.sys.urls
220+
.get("contest_info")
221+
.ok_or(Error::NoneError)?
222+
.replace("$contest_slug", contest);
223+
make_req!(self, url.to_string())
224+
.send(&self.client)
225+
.await
226+
}
227+
228+
/// Get contest problem detail
229+
pub async fn get_contest_question_detail(&self, problem: &str) -> Result<Response,Error> {
230+
self.get_graphql("query a($s: String!) {
231+
question(titleSlug: $s) {
232+
title
233+
titleSlug
234+
questionId
235+
questionFrontendId
236+
categoryTitle
237+
content
238+
codeDefinition
239+
status
240+
metaData
241+
codeSnippets {
242+
langSlug
243+
lang
244+
code
245+
}
246+
exampleTestcases
247+
sampleTestCase
248+
enableRunCode
249+
stats
250+
translatedContent
251+
isFavor
252+
difficulty
253+
}
254+
}".to_owned(), Some(
255+
r#"{"s": "$s"}"#.replace("$s", problem)
256+
)).await
257+
}
258+
259+
202260
/// Send code to judge
203261
#[named]
204262
pub async fn run_code(&self, j: Json, url: String, refer: String) -> Result<Response, Error> {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /