1
1
#! /bin/bash
2
2
# https://github.com/hippie68/pkgrename
3
3
# Renames PS4 PKG files based on param.sfo information and predefined patterns.
4
- # Requires script "sfo" (https://github.com/hippie68/sfo) in $PATH.
4
+ # Requires script/program "sfo" (https://github.com/hippie68/sfo) in $PATH.
5
5
6
6
# If you have renamed "sfo", enter the correct name here:
7
7
sfo_script_name=sfo
@@ -173,7 +173,10 @@ pkgrename() {
173
173
local app_ver backport backport_detected category content_id firmware \
174
174
newfilename online_search_result pubtoolinfo release releasegroup sdk \
175
175
title title_id version
176
- echo " ${1##*/ } "
176
+ local filename=${1##*/ } # Just the file name without path
177
+ local filename_lowercase=${filename,,}
178
+
179
+ echo " ${filename} "
177
180
178
181
# Run external "sfo" script to get param.sfo variables
179
182
while IFS= read -r line; do
@@ -204,7 +207,7 @@ pkgrename() {
204
207
fi
205
208
206
209
# Check file name for release groups
207
- case ${1,, } in
210
+ case ${filename_lowercase } in
208
211
* [^a-z]bigbluebox[^a-z]* ) releasegroup=" BigBlueBox" ;;
209
212
* [^a-z]blz[^a-z]* |* [^a-z]blaze[^a-z]* ) releasegroup=" BlaZe" ;;
210
213
* [^a-z]caf[^a-z]* ) releasegroup=" CAF" ;;
@@ -213,12 +216,13 @@ pkgrename() {
213
216
* [^a-z]gcmr[^a-z]* ) releasegroup=" GCMR" ;;
214
217
* [^a-z]hoodlum[^a-z]* ) releasegroup=" HOODLUM" ;;
215
218
* [^a-z]hr[^a-z]* ) releasegroup=" HR" ;;
219
+ * [^a-z]internal[^a-z]* ) releasegroup=" iNTERNAL" ;;
216
220
* [^a-z]jrp[^a-z]* ) releasegroup=" JRP" ;;
217
221
* [^a-z]kotf[^a-z]* ) releasegroup=" KOTF" ;;
218
222
* [^a-z]levelup[^a-z]* ) releasegroup=" LevelUp" ;;
219
223
* [^a-z]lfc[^a-z]* |* [^a-z]lightforce[^a-z]* ) releasegroup=" LiGHTFORCE" ;;
220
224
* [^a-z]marvtm[^a-z]* ) releasegroup=" MarvTM" ;;
221
- * [^a-z]moemoe[^a-z]* ) releasegroup=" MOEMOE" ;;
225
+ * [^a-z]moemoe[^a-z]* |moe[^a-z] * ) releasegroup=" MOEMOE" ;;
222
226
* [^a-z]playable[^a-z]* ) releasegroup=" Playable" ;;
223
227
* [^a-z]prelude[^a-z]* ) releasegroup=" PRELUDE" ;;
224
228
* [^a-z]protocol[^a-z]* ) releasegroup=" PROTOCOL" ;;
@@ -231,10 +235,10 @@ pkgrename() {
231
235
esac
232
236
233
237
# Other releases
234
- case ${1,, } in
238
+ case ${filename_lowercase } in
235
239
* [^a-z]arczi[^a-z]* ) release=" Arczi" ;;
236
- * [^a-z]opoisso893[^a-z]* ) release=" OPOISSO893" ;;
237
240
* [^a-z]cyb1k[^a-z]* ) release=" CyB1K" ;;
241
+ * [^a-z]opoisso893[^a-z]* ) release=" OPOISSO893" ;;
238
242
esac
239
243
240
244
# This line is option "-o", must be run before title customization
@@ -248,15 +252,15 @@ pkgrename() {
248
252
# Checks following customization
249
253
# Check for backport; could generate false positives (hopefully not)
250
254
if [[ $sdk == 5.05 && ${firmware/ ./ } -gt 600 \
251
- || ${1,, } == * [^a-z]backport[^a-z]* \
252
- || ${1,, } == * [^a-z]" $backport_string " [^a-z]* ]]; then
255
+ || ${filename_lowercase } == * [^a-z]backport[^a-z]* \
256
+ || ${filename_lowercase } == * [^a-z]" $backport_string " [^a-z]* ]]; then
253
257
backport=$backport_string
254
258
fi
255
259
case " $category " in
256
260
ac) category=" $category_dlc " ;;
257
261
gd) category=" $category_game " ;;
258
262
gp) category=" $category_patch " ;;
259
- * ) category=" Unknown category " ;;
263
+ * ) category= ;;
260
264
esac
261
265
262
266
# Interactive loop
@@ -276,7 +280,7 @@ pkgrename() {
276
280
newfilename=${newfilename// [&:\\|\/\"<>*]/ $exfat_placeholder }
277
281
278
282
echo " $newfilename "
279
- if [[ $newfilename == " ${1 ##*/ } " && $force_prompt != true ]]; then
283
+ if [[ $newfilename == " $filename " && $force_prompt != true ]]; then
280
284
echo " Nothing to do."
281
285
break
282
286
elif [[ $rename_all == true ]]; then
0 commit comments