mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2025-01-09 02:45:38 +00:00
eb926fd9e4
* Fix features.json, add srm launcher * Logging * Set correct logging levels * Bob makes it nexy year already! * full splash screen dates * Alpha version of post build check
87 lines
3 KiB
Bash
Executable file
87 lines
3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Path to the configuration file
|
|
CONFIG_FILE="config/retrodeck/reference_lists/features.json"
|
|
|
|
# Check if file exists
|
|
if [ ! -f "$CONFIG_FILE" ]; then
|
|
echo "Error: $CONFIG_FILE not found"
|
|
exit 1
|
|
fi
|
|
|
|
# Get today's date in the format YYYY-MM-DD
|
|
TODAYS_DATE=$(date +%Y-%m-%d)
|
|
|
|
# Update dates using jq
|
|
jq '
|
|
def is_leap_year($year): ($year % 4 == 0 and $year % 100 != 0) or ($year % 400 == 0);
|
|
|
|
def increment_date($date):
|
|
if $date | length == 4 then
|
|
($date[0:2] | tonumber) as $month |
|
|
($date[2:4] | tonumber) as $day |
|
|
if $month == 12 and $day == 31 then
|
|
"0101"
|
|
elif $month == 2 and $day == 28 and is_leap_year(2024) then
|
|
"0229"
|
|
elif $month == 2 and ($day == 28 or $day == 29) then
|
|
"0301"
|
|
elif $day == 30 and ($month == 4 or $month == 6 or $month == 9 or $month == 11) then
|
|
(if ($month + 1) < 10 then "0" else "" end + (($month + 1) | tostring)) + "01"
|
|
elif $day == 31 then
|
|
(if ($month + 1) < 10 then "0" else "" end + (($month + 1) | tostring)) + "01"
|
|
else
|
|
(if $month < 10 then "0" else "" end + ($month | tostring)) +
|
|
(if ($day + 1) < 10 then "0" else "" end + (($day + 1) | tostring))
|
|
end
|
|
elif $date | length == 10 then
|
|
($date[0:4] | tonumber) as $year |
|
|
($date[5:7] | tonumber) as $month |
|
|
($date[8:10] | tonumber) as $day |
|
|
if $month == 12 and $day == 31 then
|
|
(($year + 1) | tostring) + "-01-01"
|
|
elif $month == 2 and $day == 28 and is_leap_year($year + 1) then
|
|
(($year + 1) | tostring) + "-02-29"
|
|
elif $month == 2 and ($day == 28 or $day == 29) then
|
|
(($year + 1) | tostring) + "-03-01"
|
|
elif $day == 30 and ($month == 4 or $month == 6 or $month == 9 or $month == 11) then
|
|
(($year + 1) | tostring) + "-" +
|
|
(if ($month + 1) < 10 then "0" else "" end + (($month + 1) | tostring)) + "-01"
|
|
elif $day == 31 then
|
|
(($year + 1) | tostring) + "-" +
|
|
(if ($month + 1) < 10 then "0" else "" end + (($month + 1) | tostring)) + "-01"
|
|
else
|
|
(($year + 1) | tostring) + "-" +
|
|
(if $month < 10 then "0" else "" end + ($month | tostring)) + "-" +
|
|
(if ($day + 1) < 10 then "0" else "" end + (($day + 1) | tostring))
|
|
end
|
|
else .
|
|
end;
|
|
|
|
.splash_screens |= with_entries(
|
|
.value |= (
|
|
if has("start_date") then
|
|
if .start_date < "'$TODAYS_DATE'" then
|
|
.start_date = increment_date(.start_date)
|
|
else . end
|
|
else . end |
|
|
if has("end_date") then
|
|
if .end_date < "'$TODAYS_DATE'" then
|
|
.end_date = increment_date(.end_date)
|
|
else . end
|
|
else . end |
|
|
if has("full_start_date") then
|
|
if .full_start_date < "'$TODAYS_DATE'" then
|
|
.full_start_date = increment_date(.full_start_date)
|
|
else . end
|
|
else . end |
|
|
if has("full_end_date") then
|
|
if .full_end_date < "'$TODAYS_DATE'" then
|
|
.full_end_date = increment_date(.full_end_date)
|
|
else . end
|
|
else . end
|
|
)
|
|
)' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" && mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
|
|
|
|
echo "All applicable dates rolled forward by one day."
|