[options]: Replace --disable-progress-updates with --progress (none | ansi) (#808)

Part 1 of #641
This commit is contained in:
Saehej Kang
2025-11-01 14:24:50 -07:00
committed by GitHub
parent 745cc1813e
commit cd7c3a12c8
7 changed files with 42 additions and 43 deletions
@@ -61,9 +61,9 @@ extension Application {
let id = Utility.createContainerID(name: self.managementFlags.name)
var progressConfig: ProgressConfig
if progressFlags.disableProgressUpdates {
progressConfig = try ProgressConfig(disableProgressUpdates: progressFlags.disableProgressUpdates)
} else {
switch self.progressFlags.progress {
case .none: progressConfig = try ProgressConfig(disableProgressUpdates: true)
case .ansi:
progressConfig = try ProgressConfig(
showTasks: true,
showItems: true,
@@ -17,7 +17,6 @@
import ArgumentParser
import ContainerClient
import Containerization
import ContainerizationError
import ContainerizationOCI
import TerminalProgress
@@ -57,10 +56,9 @@ extension Application {
public init() {}
public init(platform: String? = nil, scheme: String = "auto", reference: String, disableProgress: Bool = false) {
public init(platform: String? = nil, scheme: String = "auto", reference: String) {
self.global = Flags.Global()
self.registry = Flags.Registry(scheme: scheme)
self.progressFlags = Flags.Progress(disableProgressUpdates: disableProgress)
self.platform = platform
self.reference = reference
}
@@ -80,9 +78,9 @@ extension Application {
let processedReference = try ClientImage.normalizeReference(reference)
var progressConfig: ProgressConfig
if self.progressFlags.disableProgressUpdates {
progressConfig = try ProgressConfig(disableProgressUpdates: self.progressFlags.disableProgressUpdates)
} else {
switch self.progressFlags.progress {
case .none: progressConfig = try ProgressConfig(disableProgressUpdates: true)
case .ansi:
progressConfig = try ProgressConfig(
showTasks: true,
showItems: true,
@@ -68,9 +68,9 @@ extension Application {
let image = try await ClientImage.get(reference: reference)
var progressConfig: ProgressConfig
if progressFlags.disableProgressUpdates {
progressConfig = try ProgressConfig(disableProgressUpdates: progressFlags.disableProgressUpdates)
} else {
switch self.progressFlags.progress {
case .none: progressConfig = try ProgressConfig(disableProgressUpdates: true)
case .ansi:
progressConfig = try ProgressConfig(
description: "Pushing image \(image.reference)",
itemsName: "blobs",
@@ -79,6 +79,7 @@ extension Application {
ignoreSmallSize: true
)
}
let progress = ProgressBar(config: progressConfig)
defer {
progress.finish()