summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2017-01-24 21:13:18 -0700
committerMartin Roth <martinroth@google.com>2017-01-27 04:37:33 +0100
commit27f3ce6337b293cfc7be0eb8592feb411cf2cc5f (patch)
tree17ba11ab9cf244c206f66f7f530e782a5320f0ea
parent7218a1e754d84f84fd13bd5a66b38c6f0eb6f884 (diff)
board_status/to-wiki: Update bucketize script
- Fix TODO: restrict $1 to allowed values. - Specifically exclude 'oem' board status directories. - Exclude any directory that doesn't follow the date format to keep the script from breaking again in the future if something it doesn't recognize is pushed. Just ignore it for the wiki. - Fix shellcheck warnings. Change-Id: I2864f09f5f1b1f5ec626d06e4849830400ef5814 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/18225 Tested-by: build bot (Jenkins) Reviewed-by: Timothy Pearson <tpearson@raptorengineering.com> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rwxr-xr-xutil/board_status/to-wiki/bucketize.sh28
1 files changed, 20 insertions, 8 deletions
diff --git a/util/board_status/to-wiki/bucketize.sh b/util/board_status/to-wiki/bucketize.sh
index 78906fdd67..cb643e73bc 100755
--- a/util/board_status/to-wiki/bucketize.sh
+++ b/util/board_status/to-wiki/bucketize.sh
@@ -4,30 +4,42 @@
# into buckets of the given granularity
weekly() {
- date --date="$1" +%GW%V
+ date --date="$1" +%GW%V 2>/dev/null
+ return $?
}
monthly() {
- date --date="$1" +%Y-%m
+ date --date="$1" +%Y-%m 2>/dev/null
+ return $?
}
quarterly() {
- date --date="$1" "+%Y %m" | awk '{ q=int(($2-1)/3+1); print $1 "Q" q}'
+ date --date="$1" "+%Y %m" 2>/dev/null | awk '{ q=int(($2-1)/3+1); print $1 "Q" q}'
+ return $?
}
-# TODO: restrict $1 to allowed values
+# Restrict $1 to allowed values
+if [ "$1" != "weekly" ] && [ "$1" != "monthly" ] && [ "$1" != "quarterly" ]; then
+ exit 1
+fi
curr=""
sort -r -k4 -t/ | while read file; do
- timestamp=`printf $file | cut -d/ -f4 | tr _ :`
- new=`$1 $timestamp`
+ # Exclude 'oem' directories
+ if echo "$file" | grep -q '/oem/'; then continue; fi
+ timestamp=$(printf "%s" "$file" | cut -d/ -f4 | tr _ :)
+
+ # If the directory is not a date, skip it.
+ new=$($1 "$timestamp");retval=$?
+ if [ "$retval" != "0" ]; then continue; fi
+
if [ "$new" != "$curr" ]; then
if [ "$curr" != "" ]; then
printf "\n"
fi
- printf "$new:"
+ printf "%s:" "$new"
curr=$new
fi
- printf "$file "
+ printf "%s " "$file"
done
printf "\n"