Skip to content

Commit 00aed6a

Browse files
committed
feat(downloader): optimised codes of save_solution, save_metadata,download.
1 parent 100d46a commit 00aed6a

1 file changed

Lines changed: 11 additions & 27 deletions

File tree

leetcode/downloader.py

Lines changed: 11 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55

66

77
class SubmissionDownloader:
8-
"""
9-
Handles downloading and storing LeetCode submissions locally.
10-
"""
8+
119

1210
LANGUAGE_FILES = {
1311
"python3": "solution.py",
@@ -53,20 +51,13 @@ def create_problem_directory(self, detail) -> Path:
5351
)
5452

5553
problem_dir = self.solutions_dir / folder_name
56-
57-
problem_dir.mkdir(
58-
parents=True,
59-
exist_ok=True,
60-
)
54+
problem_dir.mkdir(parents=True, exist_ok=True)
6155

6256
return problem_dir
6357

64-
def save_solution(self, detail) -> Path:
65-
problem_dir = self.create_problem_directory(detail)
66-
67-
filename = self.get_solution_filename(
68-
detail.language
69-
)
58+
def save_solution(self, problem_dir: Path, detail) -> Path:
59+
60+
filename = self.get_solution_filename(detail.language)
7061

7162
solution_file = problem_dir / filename
7263

@@ -77,8 +68,9 @@ def save_solution(self, detail) -> Path:
7768

7869
return solution_file
7970

80-
def save_metadata(self, detail) -> Path:
81-
problem_dir = self.create_problem_directory(detail)
71+
72+
def save_metadata(self, problem_dir: Path, detail) -> Path:
73+
8274

8375
metadata = {
8476
"submission_id": detail.submission_id,
@@ -102,20 +94,12 @@ def save_metadata(self, detail) -> Path:
10294
return metadata_file
10395

10496
def download(self, detail) -> Path:
105-
"""
106-
Complete download pipeline.
107-
108-
Creates directory,
109-
saves solution,
110-
saves metadata.
111-
112-
Returns problem directory.
113-
"""
97+
11498

11599
problem_dir = self.create_problem_directory(detail)
116100

117-
self.save_solution(detail)
101+
self.save_solution(problem_dir, detail)
118102

119-
self.save_metadata(detail)
103+
self.save_metadata(problem_dir, detail)
120104

121105
return problem_dir

0 commit comments

Comments
 (0)