- # Within last year
- if [[ ! "$TS" > "$MONTHLY" ]] ; then
- if [ "$KEEPMM" = "${DATE:0:7}" ] ; then
- echo "# discard month duplicate $CNO $DATE $TIME" >&2
- chcp cp $CNO
+ return 0
+}
+
+function older_than_a_month() {
+ [[ ! "$TS" < "$MONTHLY" ]] && return 1
+ #echo "# keep the first snapshot of older months" >&2
+ if [ "$KEEPMM" = "${DATE:0:7}" ] ; then
+ echo "$DEV: discard month duplicate $CNO $DATE $TIME" >&2
+ chcp cp $DEV $CNO
+ else
+ KEEPMM="${DATE:0:7}"
+ fi
+ return 0
+}
+
+function older_than_a_week() {
+ [[ ! "$TS" < "$WEEKLY" ]] && return 1
+ if [[ "${DATE:8:2}" < "$KEEPDD" ]] ; then
+ #echo "# keep latest when before choice date: $CNO $DATE $TIME" >&2
+ if [ -n "$KEEPWW0" ] ; then
+ echo "$DEV: discard outed $KEEPWW0" >&2
+ chcp cp $DEV $KEEPWW0
+ fi
+ KEEPWW0=( $CNO $DATE $TIME )
+ else
+ #echo "# keep first when at or after choice date: $CNO $DATE $TIME" >&2
+ if [ -z "$KEEPWW" ] ; then
+ if [ -n "$KEEPWW0" ] ; then
+ echo "$DEV: discard outed $KEEPWW0" >&2
+ chcp cp $DEV $KEEPWW0
+ fi
+ KEEPWW=( $CNO $DATE $TIME )
+ continue