Skip to content

Commit b1f8f87

Browse files
committed
fix(storage): extract with dir= must not mutate dir (download, logs)
1 parent 9b88b80 commit b1f8f87

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

api/download.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ async def download_model(
7676
exists = storage.file_exists()
7777
if exists:
7878
model_dir = os.path.join(MODELS_DIR, normalized_model_id)
79+
print("model_dir", model_dir)
7980
await asyncio.to_thread(storage.download_and_extract, model_file, model_dir)
8081
else:
8182
if checkpoint_url:

api/utils/storage/BaseStorage.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ def test(path):
3131
def extract(self, dir, dry_run=False):
3232
self.updateStatus("extract", 0)
3333
if not dir:
34-
dir = os.path.dirname(self.path)
35-
base, ext, subext = self.splitext()
36-
dir = os.path.join(dir, base)
34+
base, ext, subext = self.splitext()
35+
parent_dir = os.path.dirname(self.path)
36+
dir = os.path.join(parent_dir, base)
3737

3838
if not dry_run:
3939
os.mkdir(dir)
@@ -46,10 +46,11 @@ def track_progress(tar):
4646
self.updateStatus("extract", i / len(members))
4747
yield member
4848

49+
print("Extracting to " + dir)
4950
with tarfile.open(self.path, "r") as tar:
5051
tar.extractall(path=dir, members=track_progress(tar))
5152
tar.close()
52-
subprocess.run(["ls", "-l"])
53+
subprocess.run(["ls", "-l", dir])
5354
os.remove(self.path)
5455

5556
self.updateStatus("extract", 1)

0 commit comments

Comments
 (0)