Files
kymsu2/plugins.d/00-kymsu.sh
T
bruno d2baa1005d kymsu.sh
-change preference file name: kymsu.pref to kymsu.cfg
-display next update date
2026-09-04 16:47:40 +02:00

67 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
PREF_FILE="$HOME/.kymsu/plugins.d/kymsu.cfg"
TEMP_FILE="$HOME/.kymsu/plugins.d/kymsu.cfg.tmp"
# 5m 5 minutes
# 2h 2 hours
# 4d 4 days
# 3w 3 weeks
# 1M 1 month
# 1Y 1 year
update_interval="1w"
x=${update_interval: -1}
case $x in
m) unite=60;;
h) unite=3600;;
d) unite=$(( 3600*24 ));;
w) unite=$(( 3600*24*7 ));;
M) unite=$(( 3600*24*30 ));;
Y) unite=$(( 3600*24*30*12 ));;
*) echo "Bad update_interval pref" >&2
#exit -1;;
esac
y=$(( ${#update_interval}-1 ))
nb=${update_interval:0:$y}
w=$(( unite*nb ))
if [ -f $PREF_FILE ]; then
last_update=$(cat $PREF_FILE | grep "last.update" | awk -F"=" '{print $2}' )
else
last_update=0
fi
current_timestamp=$(date +"%s")
temps=$(( current_timestamp-last_update ))
last_upd=$(date +'%d-%m-%Y %H:%M:%S' -d @$last_update)
echo "Last update: $last_upd"
current=$(date +'%d-%m-%Y %H:%M:%S' -d @$current_timestamp)
echo "Current: $current"
next_update=$(( last_update+w ))
next_upd=$(date +'%d-%m-%Y %H:%M:%S' -d @$next_update)
echo -e "Next update: $next_upd\n"
if [ $(( temps-w )) -gt 0 ]; then # more than $update_interval
echo "🦄 KYMSU self update"
pushd "$(cat ~/.kymsu/path)" > /dev/null
#git pull
git pull https://Bruno21@github.com/Bruno21/kymsu.git
popd > /dev/null
echo ""
if [ $last_update -eq 0 ]; then
echo "last.update=$current_timestamp" > $PREF_FILE
else
awk -F'=' -v OFS='=' -v newval="$current_timestamp" '/^last.update/{$2=newval;print;next}1' $PREF_FILE > $TEMP_FILE
mv $TEMP_FILE $PREF_FILE
fi
fi