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

Commit b5d0ea5

Browse files
upgrade: v0.2.18, support functional spaces for prints
1 parent a4ac6e6 commit b5d0ea5

File tree

8 files changed

+61
-25
lines changed

8 files changed

+61
-25
lines changed

‎CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## v0.2.18
2+
+ Display stdout for test and execute commands, fix minor spacing in results displayed
3+
4+
+ Fix panic on `pick` command without cache
5+
16
## v0.2.17
27
Fix panic on stat command with zero numbers
38

‎Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ path = "src/bin/lc.rs"
44

55
[package]
66
name = "leetcode-cli"
7-
version = "0.2.17"
7+
version = "0.2.18"
88
authors = ["clearloop <cdr.today@foxmail.com>"]
99
edition = "2018"
1010
description = "Leet your code in command-line."

‎README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ cargo install leetcode-cli
3030
**Please make sure you have logined in `leetcode.com` with `chrome`**, more info plz checkout [this](#cookies)
3131

3232
```sh
33-
leetcode 0.2.17
33+
leetcode 0.2.18
3434
May the Code be with You 👻
3535

3636
USAGE:

‎src/cache/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ pub enum Run {
2525
}
2626

2727
impl std::default::Default for Run {
28-
fn default() -> Self { Run::Submit }
28+
fn default() -> Self {
29+
Run::Submit
30+
}
2931
}
3032

31-
3233
/// Requests if data not download
3334
#[derive(Clone)]
3435
pub struct Cache(pub LeetCode);

‎src/cache/models.rs

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -262,13 +262,13 @@ impl std::fmt::Display for VerifyResult {
262262
f,
263263
"\n{}{}{}\n{}{}{}{}{}{}\n",
264264
&self.status.status_msg.green().bold(),
265-
" Runtime: ".dimmed(),
265+
&"Runtime: ".before_spaces(7).dimmed(),
266266
&self.status.status_runtime.dimmed(),
267-
"\nYour input: ",
268-
&self.data_input.replace("\n", "↩"),
269-
"\nOutput: ",
267+
&"\nYour input:".after_spaces(4),
268+
&self.data_input.replace("\n", "↩"),
269+
&"\nOutput:".after_spaces(8),
270270
ca,
271-
"\nExpected: ",
271+
&"\nExpected:".after_spaces(6),
272272
eca,
273273
)?
274274
} else if !self.submit.compare_result.is_empty() {
@@ -334,11 +334,11 @@ impl std::fmt::Display for VerifyResult {
334334
"Wrong Answer".red().bold(),
335335
" Runtime: ".dimmed(),
336336
&self.status.status_runtime.dimmed(),
337-
"\nYour input: ",
338-
&self.data_input.replace("\n", "↩"),
339-
"\nOutput: ",
337+
&"\nYour input:".after_spaces(4),
338+
&self.data_input.replace("\n", "↩"),
339+
&"\nOutput:".after_spaces(8),
340340
ca,
341-
"\nExpected: ",
341+
&"\nExpected:".after_spaces(6),
342342
eca,
343343
)?
344344
}
@@ -348,15 +348,15 @@ impl std::fmt::Display for VerifyResult {
348348
f,
349349
"\n{}\n\n{}{}\n{}{}\n{}{}\n",
350350
&self.status.status_msg.red().bold(),
351-
"Cases passed: ".green(),
351+
"Cases passed:".after_spaces(2).green(),
352352
&self
353353
.analyse
354354
.total_correct
355355
.as_ref()
356356
.unwrap_or(&Number::from(0))
357357
.to_string()
358358
.green(),
359-
"Total cases: ".yellow(),
359+
&"Total cases:".after_spaces(3).yellow(),
360360
&self
361361
.analyse
362362
.total_testcases
@@ -365,8 +365,8 @@ impl std::fmt::Display for VerifyResult {
365365
.to_string()
366366
.bold()
367367
.yellow(),
368-
"Last case: ".dimmed(),
369-
&self.submit.last_testcase.replace("\n", "↩").dimmed()
368+
&"Last case:".after_spaces(5).dimmed(),
369+
&self.submit.last_testcase.replace("\n", "↩").dimmed()
370370
)?,
371371
// Output Timeout Exceeded
372372
//
@@ -404,8 +404,8 @@ impl std::fmt::Display for VerifyResult {
404404
write!(
405405
f,
406406
"{}{}",
407-
"Stdout: ".purple(),
408-
&self.code_output.join("\n ")
407+
&"Stdout:".after_spaces(8).purple(),
408+
&self.code_output.join(&"\n".after_spaces(15))
409409
)
410410
} else {
411411
write!(f, "")
@@ -416,8 +416,8 @@ impl std::fmt::Display for VerifyResult {
416416
write!(
417417
f,
418418
"{}{}",
419-
"Stdout: ".purple(),
420-
&self.std_output.replace("\n", "\n ")
419+
&"Stdout:".after_spaces(8).purple(),
420+
&self.std_output.replace("\n", &"\n".after_spaces(15))
421421
)
422422
} else {
423423
write!(f, "")
@@ -428,7 +428,6 @@ impl std::fmt::Display for VerifyResult {
428428
}
429429

430430
use verify::*;
431-
432431
mod verify {
433432
use super::super::parser::ssr;
434433
use serde::Deserialize;
@@ -508,3 +507,25 @@ mod verify {
508507
pub expected_code_answer: Vec<String>,
509508
}
510509
}
510+
511+
/// Formatter for str
512+
trait Formatter {
513+
fn after_spaces<'f>(&self, spaces: usize) -> String;
514+
fn before_spaces<'f>(&self, spaces: usize) -> String;
515+
}
516+
517+
impl Formatter for str {
518+
fn after_spaces<'f>(&self, spaces: usize) -> String {
519+
let mut r = String::new();
520+
r.push_str(self);
521+
r.push_str(&" ".repeat(spaces));
522+
r
523+
}
524+
525+
fn before_spaces<'f>(&self, spaces: usize) -> String {
526+
let mut r = String::new();
527+
r.push_str(&" ".repeat(spaces));
528+
r.push_str(self);
529+
r
530+
}
531+
}

‎src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
//! **Please make sure you have logined in `leetcode.com` with `chrome`**, more info plz checkout [this](#cookies)
2424
//!
2525
//! ```sh
26-
//! leetcode 0.2.17
26+
//! leetcode 0.2.18
2727
//! May the Code be with You 👻
2828
//!
2929
//! USAGE:

‎src/pym.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
//! This module is for python scripts.
2+
//!
3+
//! Seems like some error exists now, welocome pr to fix this : )
14
use crate::cache::Cache;
25
use crate::helper::load_script;
36
use pyo3::prelude::*;

‎tests/de.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ fn de_from_test_success() {
99
assert!(r.is_ok());
1010
}
1111

12+
#[test]
13+
fn de_from_test_wrong() {
14+
let r: Result<VerifyResult, serde_json::Error> = serde_json::from_str(
15+
r#"{"status_code": 10, "lang": "rust", "run_success": true, "status_runtime": "0 ms", "memory": 2040000, "code_answer": ["[0,1]"], "code_output": [], "elapsed_time": 0, "task_finish_time": 1578201833478, "expected_status_code": 10, "expected_lang": "cpp", "expected_run_success": true, "expected_status_runtime": "0", "expected_memory": 8296000, "expected_code_answer": ["[0,1]"], "expected_code_output": [], "expected_elapsed_time": 20, "expected_task_finish_time": 1578201003754, "correct_answer": false, "total_correct": null, "total_testcases": null, "runtime_percentile": null, "status_memory": "2 MB", "memory_percentile": null, "pretty_lang": "Rust", "submission_id": "runcode_1578201829.4103167_XbDDrj9Ihb", "status_msg": "Accepted", "state": "SUCCESS"}"#,
16+
);
17+
assert!(r.is_ok());
18+
}
19+
1220
#[test]
1321
fn de_from_submit_success() {
1422
let r: Result<VerifyResult, serde_json::Error> = serde_json::from_str(
@@ -27,7 +35,6 @@ fn de_from_float_pencentile() {
2735

2836
#[test]
2937
fn de_from_failed_tests() {
30-
env_logger::init();
3138
let r: Result<VerifyResult, serde_json::Error> = serde_json::from_str(
3239
r#"{"status_code": 11, "lang": "rust", "run_success": true, "status_runtime": "4 ms", "memory": 2716000, "question_id": "203", "elapsed_time": 0, "compare_result": "11111111111111111111111111111111111111111111111111111111111011111", "code_output": "", "std_output": "", "last_testcase": "[1, 2, 3]", "task_finish_time": 1578590021187, "total_correct": 65, "total_testcases": 65, "runtime_percentile": 76.9231, "status_memory": "2.7 MB", "memory_percentile": 100, "pretty_lang": "Rust", "submission_id": "292701790", "status_msg": "Failed", "state": "SUCCESS"}"#,
3340
);
@@ -72,5 +79,4 @@ fn de_unknown_error() {
7279
r#"{"status_code": 42, "lang": "rust", "run_success": false, "status_runtime": "N/A", "memory": 2048000, "code_answer": [], "code_output": [""], "elapsed_time": 0, "task_finish_time": 1578215847058, "total_correct": null, "total_testcases": null, "runtime_percentile": null, "status_memory": "N/A", "memory_percentile": null, "pretty_lang": "Rust", "submission_id": "runcode_1578215840.1441765_Bj7ADXgHrl", "status_msg": "Compile Error", "full_compile_error": "I'm error", "state": "SUCCESS"}"#,
7380
);
7481
assert!(r.is_ok());
75-
println!("{}", r.unwrap());
7682
}

0 commit comments

Comments
(0)

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