55
66
77class 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