mirror of
https://github.com/dockur/windows.git
synced 2026-08-03 12:37:20 +01:00
feat: Improve Windows version reporting (#1941)
This commit is contained in:
+25
-16
@@ -513,6 +513,7 @@ getWindows() {
|
|||||||
local version="$1"
|
local version="$1"
|
||||||
local lang="$2"
|
local lang="$2"
|
||||||
local desc="$3"
|
local desc="$3"
|
||||||
|
local web_desc="$4"
|
||||||
local language edition
|
local language edition
|
||||||
|
|
||||||
MIDO_SOURCE=""
|
MIDO_SOURCE=""
|
||||||
@@ -520,7 +521,8 @@ getWindows() {
|
|||||||
edition=$(printEdition "$version" "$desc" "Y")
|
edition=$(printEdition "$version" "$desc" "Y")
|
||||||
|
|
||||||
local msg="Requesting $desc from the Microsoft servers..."
|
local msg="Requesting $desc from the Microsoft servers..."
|
||||||
info "$msg" && html "$msg"
|
local web_msg="Requesting $web_desc from the Microsoft servers..."
|
||||||
|
info "$msg" && html "$web_msg"
|
||||||
|
|
||||||
case "${version,,}" in
|
case "${version,,}" in
|
||||||
"win2008r2"* | \
|
"win2008r2"* | \
|
||||||
@@ -887,9 +889,10 @@ downloadFile() {
|
|||||||
local url="$2"
|
local url="$2"
|
||||||
local size="$3"
|
local size="$3"
|
||||||
local desc="$4"
|
local desc="$4"
|
||||||
local connections="${5:-1}"
|
local web_desc="$5"
|
||||||
local msg="Downloading $desc"
|
local connections="${6:-1}"
|
||||||
local console_msg="$msg"
|
local msg="Downloading $web_desc"
|
||||||
|
local console_msg="Downloading $desc"
|
||||||
local domain dots
|
local domain dots
|
||||||
|
|
||||||
domain=$(echo "$url" | awk -F/ '{print $3}')
|
domain=$(echo "$url" | awk -F/ '{print $3}')
|
||||||
@@ -919,6 +922,7 @@ tryDownload() {
|
|||||||
local size="$4"
|
local size="$4"
|
||||||
local desc="$6"
|
local desc="$6"
|
||||||
local seconds="$7"
|
local seconds="$7"
|
||||||
|
local web_desc="$8"
|
||||||
local total rc=0
|
local total rc=0
|
||||||
|
|
||||||
if downloadRetry \
|
if downloadRetry \
|
||||||
@@ -930,7 +934,8 @@ tryDownload() {
|
|||||||
"$iso" \
|
"$iso" \
|
||||||
"$url" \
|
"$url" \
|
||||||
"$size" \
|
"$size" \
|
||||||
"$desc"; then
|
"$desc" \
|
||||||
|
"$web_desc"; then
|
||||||
rc=0
|
rc=0
|
||||||
else
|
else
|
||||||
rc=$?
|
rc=$?
|
||||||
@@ -965,10 +970,11 @@ fallbackEnglish() {
|
|||||||
local version="$2"
|
local version="$2"
|
||||||
local lang="$3"
|
local lang="$3"
|
||||||
local desc="$4"
|
local desc="$4"
|
||||||
local culture msg
|
local web_desc="$5"
|
||||||
|
local culture msg web_msg
|
||||||
|
|
||||||
msg="No working download method was found for $desc, falling back to English..."
|
msg="No working download method was found for $desc, falling back to English..."
|
||||||
info "$msg" && html "$msg"
|
info "$msg"
|
||||||
|
|
||||||
# Preserve the requested regional format and keyboard layout.
|
# Preserve the requested regional format and keyboard layout.
|
||||||
culture=$(getLanguage "$lang" "culture")
|
culture=$(getLanguage "$lang" "culture")
|
||||||
@@ -996,14 +1002,15 @@ downloadImage() {
|
|||||||
local success="n"
|
local success="n"
|
||||||
local seconds="5"
|
local seconds="5"
|
||||||
local detected="$DETECTED"
|
local detected="$DETECTED"
|
||||||
local url sum size base desc language i
|
local url sum size base desc web_desc language i
|
||||||
|
|
||||||
if [[ "${version,,}" == "http"* ]]; then
|
if [[ "${version,,}" == "http"* ]]; then
|
||||||
|
|
||||||
base=$(basename "$iso")
|
base=$(basename "$iso")
|
||||||
desc=$(fromFile "$base")
|
desc=$(fromFile "$base")
|
||||||
|
web_desc="$desc"
|
||||||
|
|
||||||
tryDownload "$iso" "$version" "" "" "" "$desc" "$seconds" && return 0
|
tryDownload "$iso" "$version" "" "" "" "$desc" "$seconds" "$web_desc" && return 0
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1013,6 +1020,7 @@ downloadImage() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
desc=$(printVariant "$version" "" "Y")
|
desc=$(printVariant "$version" "" "Y")
|
||||||
|
web_desc=$(printVariant "$version" "")
|
||||||
|
|
||||||
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
||||||
|
|
||||||
@@ -1020,9 +1028,10 @@ downloadImage() {
|
|||||||
|
|
||||||
if ! validVersion "$version" "$lang"; then
|
if ! validVersion "$version" "$lang"; then
|
||||||
desc=$(printEdition "$version" "$desc" "Y")
|
desc=$(printEdition "$version" "$desc" "Y")
|
||||||
|
web_desc=$(printEdition "$version" "$web_desc")
|
||||||
desc+=" in $language"
|
desc+=" in $language"
|
||||||
|
|
||||||
fallbackEnglish "$iso" "$version" "$lang" "$desc" && return 0
|
fallbackEnglish "$iso" "$version" "$lang" "$desc" "$web_desc" && return 0
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1034,11 +1043,11 @@ downloadImage() {
|
|||||||
tried="y"
|
tried="y"
|
||||||
success="n"
|
success="n"
|
||||||
|
|
||||||
if getWindows "$version" "$lang" "$desc"; then
|
if getWindows "$version" "$lang" "$desc" "$web_desc"; then
|
||||||
success="y"
|
success="y"
|
||||||
else
|
else
|
||||||
delay "$seconds"
|
delay "$seconds"
|
||||||
getWindows "$version" "$lang" "$desc" && success="y"
|
getWindows "$version" "$lang" "$desc" "$web_desc" && success="y"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$success" == "y" ]]; then
|
if [[ "$success" == "y" ]]; then
|
||||||
@@ -1055,7 +1064,7 @@ downloadImage() {
|
|||||||
sum=$(getMido "$version" "$lang" "sum")
|
sum=$(getMido "$version" "$lang" "sum")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if tryDownload "$iso" "$MIDO_URL" "$sum" "$size" "$lang" "$desc" "$seconds"; then
|
if tryDownload "$iso" "$MIDO_URL" "$sum" "$size" "$lang" "$desc" "$seconds" "$web_desc"; then
|
||||||
# Commit the candidate only after the image was downloaded and verified.
|
# Commit the candidate only after the image was downloaded and verified.
|
||||||
DETECTED="$detected"
|
DETECTED="$detected"
|
||||||
return 0
|
return 0
|
||||||
@@ -1084,7 +1093,7 @@ downloadImage() {
|
|||||||
|
|
||||||
ISO="${ISO%.*}.esd"
|
ISO="${ISO%.*}.esd"
|
||||||
|
|
||||||
if tryDownload "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$lang" "$desc" "$seconds"; then
|
if tryDownload "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$lang" "$desc" "$seconds" "$web_desc"; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1107,13 +1116,13 @@ downloadImage() {
|
|||||||
size=$(getSize "$i" "$version" "$lang")
|
size=$(getSize "$i" "$version" "$lang")
|
||||||
sum=$(getHash "$i" "$version" "$lang")
|
sum=$(getHash "$i" "$version" "$lang")
|
||||||
|
|
||||||
tryDownload "$iso" "$url" "$sum" "$size" "$lang" "$desc" "$seconds" && return 0
|
tryDownload "$iso" "$url" "$sum" "$size" "$lang" "$desc" "$seconds" "$web_desc" && return 0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
||||||
if fallbackEnglish "$iso" "$version" "$lang" "$desc"; then
|
if fallbackEnglish "$iso" "$version" "$lang" "$desc" "$web_desc"; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user