@@ -69,11 +69,11 @@ def main():
6969 "--list-problems to list all problems." )
7070 parser .add_argument (
7171 "--problem_builds_dir" , "-d" ,
72- default = "problem_builds" ,
7372 metavar = 'dir' ,
7473 type = str ,
75- help = ("Path to a directory with the problems. Usually "
76- "./problem_builds/ directory. Default: problem_builds." ))
74+ help = ("Specifies the directory with the problems. Typically, this is "
75+ "'./problem_builds'. If not provided, the script defaults to "
76+ "'./problem_builds' in the same directory as the executable." ))
7777 parser .add_argument (
7878 "--run-expected-tests" , "-r" ,
7979 action = "store_true" ,
@@ -95,10 +95,15 @@ def main():
9595
9696 logger .set_verbose (args .verbose )
9797
98- problem_builds_dir = os .path .abspath (args .problem_builds_dir )
98+ openleetcode_dir = os .path .dirname (os .path .realpath (__file__ ))
99+ if args .problem_builds_dir is None :
100+
101+ problem_builds_dir = openleetcode_dir
102+ else :
103+ problem_builds_dir = os .path .abspath (args .problem_builds_dir )
99104
100105 if not os .path .isdir (problem_builds_dir ):
101- print (logger .red (f"The problems directory { args . problem_builds_dir } "
106+ print (logger .red (f"The problems directory { problem_builds_dir } "
102107 f"does not exist." ))
103108 sys .exit (1 )
104109
@@ -114,20 +119,14 @@ def main():
114119 print (problem )
115120 sys .exit (1 )
116121
117- if not os .path .isdir (args .problem_builds_dir ):
118- print (logger .red (f"The build directory '{ args .problem_builds_dir } ' "
119- f"does not exist." ))
120- sys .exit (1 )
121-
122- problem_dir = os .path .join (args .problem_builds_dir ,
123- "problems" , args .problem )
122+ problem_dir = os .path .join (problem_builds_dir , "problems" , args .problem )
124123 if not os .path .isdir (problem_dir ):
125124 print (logger .red (f"The problem directory { problem_dir } does not exist. "
126125 f"Check the problem_builds_dir and problem "
127126 f"arguments." ))
128127 sys .exit (1 )
129128
130- src_template_dir = os .path .join (args . problem_builds_dir , "languages" ,
129+ src_template_dir = os .path .join (problem_builds_dir , "languages" ,
131130 args .language )
132131 if not os .path .isdir (src_template_dir ):
133132 print (logger .red (f"The source template directory { src_template_dir } "
@@ -164,6 +163,7 @@ def main():
164163 " for testcase " + args .testcase + " in language " + args .language )
165164 logger .log (f"Building the problem { args .problem } "
166165 f"in { args .language } language." )
166+ logger .log (f"OpenLeetCode directory: { openleetcode_dir } " )
167167 logger .log (f"Problem directory: { problem_dir } " )
168168 logger .log (f"Problems directory: { problems_dir } " )
169169 logger .log (f"Problem builds directory: { problem_builds_dir } " )
@@ -189,7 +189,7 @@ def main():
189189 logger .log (f"Writing the function name to { solution_function_file_name } " )
190190
191191 validation_schema_file = os .path .abspath (
192- os .path .join (problem_builds_dir , VALIDATION_SCHEMA_FILE_NAME ))
192+ os .path .join (openleetcode_dir , VALIDATION_SCHEMA_FILE_NAME ))
193193 if not os .path .isfile (validation_schema_file ):
194194 print (logger .red (f"The validation schema file { validation_schema_file } "
195195 f"does not exist." ))
0 commit comments