Commit bffcdc69 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Merge branch 'alex2844-getSteamId' into devel

parents e40c4e56 20655605
...@@ -100,14 +100,16 @@ getSteamId() { ...@@ -100,14 +100,16 @@ getSteamId() {
if [[ -n "${SteamIds:-}" ]] && jq -e --arg key "$NOSTAPPNAME" 'has($key)' <<< "${SteamIds}" > /dev/null; then if [[ -n "${SteamIds:-}" ]] && jq -e --arg key "$NOSTAPPNAME" 'has($key)' <<< "${SteamIds}" > /dev/null; then
SteamAppId=$(jq -r --arg key "${NOSTAPPNAME}" '.[$key]' <<< "${SteamIds}") SteamAppId=$(jq -r --arg key "${NOSTAPPNAME}" '.[$key]' <<< "${SteamIds}")
else else
if [[ -n "${1:-}" ]]; then if [[ -n "${1:-}" ]] && [[ "${USE_STEABGRIDDB:-1}" == "1" ]]; then
getSteamGridDBId "${NOSTAPPNAME}" > /dev/null getSteamGridDBId "${NOSTAPPNAME}" > /dev/null
fi fi
if [[ $SteamGridDBTypeSteam == true ]]; then if [[ $SteamGridDBTypeSteam == true ]]; then
SRES=$(curl -Ls -e "https://www.steamgriddb.com/game/${SteamGridDBId}" "https://www.steamgriddb.com/api/public/game/${SteamGridDBId}") SRES=$(curl -Ls --connect-timeout 5 -m 10 -e "https://www.steamgriddb.com/game/${SteamGridDBId}" "https://www.steamgriddb.com/api/public/game/${SteamGridDBId}")
if jq -e ".success == true" <<< "${SRES}" > /dev/null 2>&1; then if jq -e ".success == true" <<< "${SRES}" > /dev/null 2>&1; then
SteamAppId="$(jq -r '.data.platforms.steam.id' <<< "${SRES}")" SteamAppId="$(jq -r '.data.platforms.steam.id' <<< "${SRES}")"
fi fi
elif [[ "${USE_STEABGRIDDB:-1}" == "0" ]]; then
SteamAppId="$(curl -s --connect-timeout 5 -m 10 "https://api.steampowered.com/ISteamApps/GetAppList/v2/" | jq --arg name "${NOSTAPPNAME}" '.applist.apps[] | select(.name == $name) | .appid')"
fi fi
SteamIds=$(jq --arg key "${NOSTAPPNAME}" --arg value "${SteamAppId:-}" '. + {($key): $value}' <<< "${SteamIds:-$(jq -n '{}')}") SteamIds=$(jq --arg key "${NOSTAPPNAME}" --arg value "${SteamAppId:-}" '. + {($key): $value}' <<< "${SteamIds:-$(jq -n '{}')}")
echo "${SteamIds}" > "${cache_file}" echo "${SteamIds}" > "${cache_file}"
...@@ -120,15 +122,19 @@ getSteamId() { ...@@ -120,15 +122,19 @@ getSteamId() {
getSteamGridDBId() { getSteamGridDBId() {
unset SteamGridDBId unset SteamGridDBId
NOSTAPPNAME="$1" NOSTAPPNAME="$1"
SGDBRES=$(curl -Ls -H "Authorization: Bearer ${SGDBAPIKEY}" "${BASESTEAMGRIDDBAPI}/search/autocomplete/${NOSTAPPNAME// /_}") if [[ "${USE_STEABGRIDDB:-1}" == "1" ]] && [[ -n "${SGDBAPIKEY}" ]] && [[ -n "${BASESTEAMGRIDDBAPI}" ]] && curl -fs --connect-timeout 5 -m 10 -o /dev/null "${BASESTEAMGRIDDBAPI}"; then
if jq -e ".success == true and (.data | length > 0)" <<< "${SGDBRES}" > /dev/null 2>&1; then SGDBRES=$(curl -Ls --connect-timeout 5 -m 10 -H "Authorization: Bearer ${SGDBAPIKEY}" "${BASESTEAMGRIDDBAPI}/search/autocomplete/${NOSTAPPNAME// /_}")
if jq -e '.data[0].types | contains(["steam"])' <<< "${SGDBRES}" > /dev/null; then if jq -e ".success == true and (.data | length > 0)" <<< "${SGDBRES}" > /dev/null 2>&1; then
SteamGridDBTypeSteam=true if jq -e '.data[0].types | contains(["steam"])' <<< "${SGDBRES}" > /dev/null; then
else SteamGridDBTypeSteam=true
SteamGridDBTypeSteam=false else
SteamGridDBTypeSteam=false
fi
SteamGridDBId="$(jq '.data[0].id' <<< "${SGDBRES}")"
echo "${SteamGridDBId}"
fi fi
SteamGridDBId="$(jq '.data[0].id' <<< "${SGDBRES}")" else
echo "${SteamGridDBId}" USE_STEABGRIDDB="0"
fi fi
} }
...@@ -255,7 +261,7 @@ restartSteam() { ...@@ -255,7 +261,7 @@ restartSteam() {
} }
downloadImage() { downloadImage() {
if ! curl -Lf# -o "${STCFGPATH}/grid/$2" "$1"; then if ! curl -Lf# --connect-timeout 5 -m 10 -o "${STCFGPATH}/grid/$2" "$1"; then
return 1 return 1
fi fi
} }
...@@ -272,30 +278,35 @@ downloadImageSteam() { ...@@ -272,30 +278,35 @@ downloadImageSteam() {
} }
downloadImageSteamGridDB() { downloadImageSteamGridDB() {
SGDBIMGAPI="${BASESTEAMGRIDDBAPI}/$1/game/${SteamGridDBId}?limit=1" if [[ -n "${SteamGridDBId}" ]]; then
[[ -n "$3" ]] && SGDBIMGAPI+="&$3" SGDBIMGAPI="${BASESTEAMGRIDDBAPI}/$1/game/${SteamGridDBId}?limit=1"
[[ -n "$4" ]] && SGDBIMGAPI+="&$4" [[ -n "$3" ]] && SGDBIMGAPI+="&$3"
SGDBIMGRES=$(curl -Ls -H "Authorization: Bearer ${SGDBAPIKEY}" "${SGDBIMGAPI}") [[ -n "$4" ]] && SGDBIMGAPI+="&$4"
if jq -e ".success == true and (.data | length > 0)" <<< "${SGDBIMGRES}" > /dev/null 2>&1; then SGDBIMGRES=$(curl -Ls --connect-timeout 5 -m 10 -H "Authorization: Bearer ${SGDBAPIKEY}" "${SGDBIMGAPI}")
SGDBIMGURL=$(jq -r '.data[0].url' <<< "${SGDBIMGRES}") if jq -e ".success == true and (.data | length > 0)" <<< "${SGDBIMGRES}" > /dev/null 2>&1; then
downloadImage "${SGDBIMGURL}" "$2" SGDBIMGURL=$(jq -r '.data[0].url' <<< "${SGDBIMGRES}")
elif [[ -n "$3" ]]; then downloadImage "${SGDBIMGURL}" "$2"
downloadImageSteamGridDB "$1" "$2" "" "$4" elif [[ -n "$3" ]]; then
downloadImageSteamGridDB "$1" "$2" "" "$4"
else
return 1
fi
else else
return 1 return 1
fi fi
} }
addGrids() { addGrids() {
if [[ -n "${SGDBAPIKEY}" ]]; then getSteamGridDBId "${name_desktop}" > /dev/null
getSteamGridDBId "${name_desktop}" > /dev/null if [[ "${USE_STEABGRIDDB:-1}" == "0" ]]; then
getSteamId > /dev/null
fi fi
if [[ -n "${SteamGridDBId}" ]]; then if [[ -n "${SteamGridDBId}" ]] || [[ -n "${SteamAppId}" ]]; then
create_new_dir "${STCFGPATH}/grid" create_new_dir "${STCFGPATH}/grid"
downloadImageSteamGridDB "grids" "${NOSTAIDGRID}.jpg" "mimes=image/jpeg" "dimensions=460x215,920x430" || downloadImageSteam "header.jpg" "${NOSTAIDGRID}.jpg" || echo "Failed to load header.jpg" downloadImageSteamGridDB "grids" "${NOSTAIDGRID:-0}.jpg" "mimes=image/jpeg" "dimensions=460x215,920x430" || downloadImageSteam "header.jpg" "${NOSTAIDGRID:-0}.jpg" || echo "Failed to load header.jpg"
downloadImageSteamGridDB "grids" "${NOSTAIDGRID}p.jpg" "mimes=image/jpeg" "dimensions=600x900,660x930" || downloadImageSteam "library_600x900_2x.jpg" "${NOSTAIDGRID}p.jpg" || echo "Failed to load library_600x900_2x.jpg" downloadImageSteamGridDB "grids" "${NOSTAIDGRID:-0}p.jpg" "mimes=image/jpeg" "dimensions=600x900,660x930" || downloadImageSteam "library_600x900_2x.jpg" "${NOSTAIDGRID:-0}p.jpg" || echo "Failed to load library_600x900_2x.jpg"
downloadImageSteamGridDB "heroes" "${NOSTAIDGRID}_hero.jpg" "mimes=image/jpeg" || downloadImageSteam "library_hero.jpg" "${NOSTAIDGRID}_hero.jpg" || echo "Failed to load library_hero.jpg" downloadImageSteamGridDB "heroes" "${NOSTAIDGRID:-0}_hero.jpg" "mimes=image/jpeg" || downloadImageSteam "library_hero.jpg" "${NOSTAIDGRID:-0}_hero.jpg" || echo "Failed to load library_hero.jpg"
downloadImageSteamGridDB "logos" "${NOSTAIDGRID}_logo.png" "mimes=image/png" || downloadImageSteam "logo.png" "${NOSTAIDGRID}_logo.png" || echo "Failed to load logo.png" downloadImageSteamGridDB "logos" "${NOSTAIDGRID:-0}_logo.png" "mimes=image/png" || downloadImageSteam "logo.png" "${NOSTAIDGRID:-0}_logo.png" || echo "Failed to load logo.png"
else else
echo "Game is not found" echo "Game is not found"
fi fi
...@@ -372,10 +383,6 @@ addNonSteamGame() { ...@@ -372,10 +383,6 @@ addNonSteamGame() {
printf '\x08\x08\x08\x08' printf '\x08\x08\x08\x08'
} >> "${SCPATH}" } >> "${SCPATH}"
# TODO: замень использование steamgriddb на steam так как сайт steamgriddb у многих без VPN не работает
# а пока просто блочим использование
export DOWNLOAD_STEAM_GRID="0"
if [[ "${DOWNLOAD_STEAM_GRID}" == "1" ]] ; then if [[ "${DOWNLOAD_STEAM_GRID}" == "1" ]] ; then
pw_start_progress_bar_block "${translations[Please wait. downloading covers for]} ${NOSTAPPNAME}" pw_start_progress_bar_block "${translations[Please wait. downloading covers for]} ${NOSTAPPNAME}"
addGrids addGrids
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment