Skip to content
This repository was archived by the owner on Oct 7, 2022. It is now read-only.

Commit af7e7bf

Browse files
committed
copy over requirements files to temporary directory
fixes #68
1 parent 650d210 commit af7e7bf

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/pypi2nix/cli.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)