ma pkgs.nsrenamer: new naming scheme

This commit is contained in:
makefu 2020-08-18 23:26:51 +02:00
parent a07a40b018
commit 9b30bf0814
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
2 changed files with 11 additions and 11 deletions

View File

@ -1,3 +1,3 @@
{ pkgs,... }: { pkgs,... }:
# TODO: dependencies: coreutils, nx_game_info, # TODO: dependencies: coreutils, nx_game_info,
pkgs.writeScriptBin "nsrenamer" ./nsrenamer.sh pkgs.writeScriptBin "nsrenamer" (builtins.readFile ./nsrenamer.sh)

View File

@ -4,29 +4,29 @@ indir=$(dirname "$1")
inname=$(basename "$1") inname=$(basename "$1")
out=$(nxgameinfo_cli "$1") out=$(nxgameinfo_cli "$1")
ext=${1##*.} ext=${1##*.}
id=$(awk -F: '/├ Title ID:/{print $2}' <<<$out |xargs) id=$(awk -F: '/├ Title ID:/{print $2}' <<<"$out" |xargs)
baseid=$(awk -F: '/Base Title ID:/{print $2}' <<<$out |xargs) baseid=$(awk -F: '/Base Title ID:/{print $2}' <<<"$out" |xargs)
version=$(awk -F: '/├ Display Version:/{print $2}' <<<$out |xargs) version=$(awk -F: '/├ Version:/{print $2}' <<<"$out" |xargs)
name=$(awk -F: '/Title Name/{print $2}' <<<$out |xargs) name=$(awk -F: '/Title Name/{print $2}' <<<"$out" | sed "s/[:']//g" | xargs )
type=$(awk -F: '/Type:/{print $2}' <<<$out | xargs) type=$(awk -F: '/Type:/{print $2}' <<<"$out" | xargs)
! test -n "$id" && echo "Title ID cannot be empty!" && exit 1 ! test -n "$id" && echo "Title ID cannot be empty!" && exit 1
! test -n "$type" && echo "type cannot be empty!" && exit 1 ! test -n "$type" && echo "type cannot be empty!" && exit 1
if test "$type" == Base;then if test "$type" == Base;then
! test -n "$name" && echo "Title Name cannot be empty!" && exit 1 ! test -n "$name" && echo "Title Name cannot be empty!" && exit 1
NAME="[$id] $name Base Game.$ext" NAME="$name [$id][v$version].$ext"
elif test "$type" == Update;then elif test "$type" == Update;then
! test -n "$name" && echo "Title Name cannot be empty!" && exit 1 ! test -n "$name" && echo "Title Name cannot be empty!" && exit 1
! test -n "$version" && echo "Version cannot be empty!" && exit 1 ! test -n "$version" && echo "Version cannot be empty!" && exit 1
NAME="[$id] $name Update $version.$ext" NAME="$name [UPD][$id][v$version].$ext"
elif test "$type" == DLC;then elif test "$type" == DLC;then
dlcname=$(jq -r --arg id "$id" '.[$id].name' < ~/.switch/titles.US.en.json) dlcname=$(jq -r --arg id "$id" '.[$id].name' < ~/.switch/titles.US.en.json | sed "s/[:']//g")
if test -n "$dlcname" ;then if test -n "$dlcname" ;then
NAME="[$id] $dlcname DLC.$ext" NAME="$dlcname [DLC][$id][v$version].$ext"
else else
! test -n "$name" && echo "dlcname cannot be found in titles.US.en.json and $name is empty!" && exit 1 ! test -n "$name" && echo "dlcname cannot be found in titles.US.en.json and $name is empty!" && exit 1
NAME="[$id] $name DLC.$ext" NAME="$dlcname [DLC][$id][v$version].$ext"
fi fi
else else
echo "unknown type '$type'" echo "unknown type '$type'"