@@ -157,6 +157,46 @@ def main(version,
157157 shutil .rmtree (project_dir )
158158 os .makedirs (project_dir )
159159
160+ def handle_requirements_file (project_dir , requirements_file ):
161+
162+ # we find new name for our requirements_file
163+ new_requirements_file = "%s/%s.txt" % (
164+ project_dir ,
165+ hashlib .md5 (requirements_file .encode ()).hexdigest (),
166+ )
167+
168+ # we open both files: f1 to read, f2 to write
169+ with open (requirements_file ) as f1 :
170+ with open (new_requirements_file , "w+" ) as f2 :
171+ for requirements_line in f1 .readlines ():
172+ if requirements_line .startswith ("-e" ):
173+ requirements_line = "-e %s" % (
174+ os .path .abspath (os .path .join (
175+ os .path .dirname (requirements_file ),
176+ requirements_line .strip ()[3 :]
177+ ))
178+ )
179+ elif requirements_line .startswith ("-r ./" ):
180+ requirements_file2 = os .path .abspath (os .path .join (
181+ os .path .dirname (requirements_file ),
182+ requirements_line .strip ()[3 :]
183+ ))
184+ new_requirements_file2 = handle_requirements_file (
185+ project_dir , requirements_file2 )
186+ requirements_line = "-r " + new_requirements_file2
187+ f2 .write (requirements_line )
188+
189+ return new_requirements_file
190+
191+ requirements_files_tmp = []
192+ for requirements_file in requirements_files :
193+ if requirements_file in requirements :
194+ requirements_files_tmp .append (
195+ handle_requirements_file (project_dir , requirements_file ))
196+ else :
197+ requirements_files_tmp .append (requirements_file )
198+ requirements_files = requirements_files_tmp
199+
160200 click .echo ('pypi2nix v{} running ...' .format (pypi2nix_version ))
161201 click .echo ('' )
162202
0 commit comments