瀏覽代碼

Build specific image tags

Valentin Niess 7 月之前
父節點
當前提交
a7c56e3c77
共有 3 個文件被更改,包括 13 次插入3 次删除
  1. 2 1
      python_appimage/commands/list.py
  2. 10 2
      python_appimage/manylinux/__init__.py
  3. 1 0
      python_appimage/manylinux/download.py

+ 2 - 1
python_appimage/commands/list.py

@@ -27,7 +27,8 @@ def execute(tag):
         pythons.append((path.name, version))
     pythons = sorted(pythons)
 
+    n = max(len(version) for (_, version) in pythons)
     for (abi, version) in pythons:
-        log('LIST', "{:8} ->  /opt/python/{:}".format(version, abi))
+        log('LIST', "{:{n}}  ->  /opt/python/{:}".format(version, abi, n=n))
 
     return pythons

+ 10 - 2
python_appimage/manylinux/__init__.py

@@ -12,14 +12,22 @@ __all__ = ['Arch', 'Downloader', 'ensure_image', 'ImageExtractor', 'LinuxTag',
 def ensure_image(tag):
     '''Extract a manylinux image to the cache'''
 
+    try:
+        tag, image_tag = tag.rsplit(':', 1)
+    except ValueError:
+        image_tag = 'latest'
+
     tag, arch = tag.split('_', 1)
     tag = LinuxTag.from_brief(tag)
     arch = Arch.from_str(arch)
 
     downloader = Downloader(tag=tag, arch=arch)
-    downloader.download()
+    downloader.download(tag=image_tag)
 
-    image_extractor = ImageExtractor(downloader.default_destination())
+    image_extractor = ImageExtractor(
+        prefix = downloader.default_destination(),
+        tag = image_tag
+    )
     image_extractor.extract()
 
     return SimpleNamespace(

+ 1 - 0
python_appimage/manylinux/download.py

@@ -56,6 +56,7 @@ class Downloader:
     def download(
         self,
         destination: Optional[Path]=None,
+        *,
         tag: Optional[str] = 'latest'
         ):
         '''Download Manylinux image'''