Skip to content

Commit

Permalink
Source HTTP: support archives with outer folder
Browse files Browse the repository at this point in the history
  • Loading branch information
LifeDJIK committed Jan 9, 2025
1 parent 735499a commit c07d54e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
5 changes: 5 additions & 0 deletions pylon/core/providers/source/http_tar.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
""" SourceProvider """

import io
import os
import tarfile
import tempfile

Expand All @@ -38,6 +39,7 @@ def __init__(self, context, settings):
self.verify = self.settings.get("verify", True)
#
self.tar_mode = self.settings.get("tar_mode", "r")
self.use_inner_dir = self.settings.get("use_inner_dir", True)

def init(self):
""" Initialize provider """
Expand Down Expand Up @@ -67,6 +69,9 @@ def get_source(self, target):
with tarfile.open(mode=self.tar_mode, fileobj=io.BytesIO(response.content)) as tar_file:
tar_file.extractall(target_path)
#
if self.use_inner_dir:
return os.path.join(target_path, os.listdir(target_path)[0])
#
return target_path

def get_multiple_source(self, targets):
Expand Down
6 changes: 6 additions & 0 deletions pylon/core/providers/source/http_zip.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
""" SourceProvider """

import io
import os
import zipfile
import tempfile

Expand All @@ -36,6 +37,8 @@ def __init__(self, context, settings):
self.username = self.settings.get("username", None)
self.password = self.settings.get("password", None)
self.verify = self.settings.get("verify", True)
#
self.use_inner_dir = self.settings.get("use_inner_dir", True)

def init(self):
""" Initialize provider """
Expand Down Expand Up @@ -65,6 +68,9 @@ def get_source(self, target):
with zipfile.ZipFile(io.BytesIO(response.content)) as zip_file:
zip_file.extractall(target_path)
#
if self.use_inner_dir:
return os.path.join(target_path, os.listdir(target_path)[0])
#
return target_path

def get_multiple_source(self, targets):
Expand Down

0 comments on commit c07d54e

Please sign in to comment.