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>
This commit is contained in:
Martin Roth 2017-01-24 21:13:18 -07:00
parent 7218a1e754
commit 27f3ce6337
1 changed files with 20 additions and 8 deletions

View File

@ -4,30 +4,42 @@
# into buckets of the given granularity # into buckets of the given granularity
weekly() { weekly() {
date --date="$1" +%GW%V date --date="$1" +%GW%V 2>/dev/null
return $?
} }
monthly() { monthly() {
date --date="$1" +%Y-%m date --date="$1" +%Y-%m 2>/dev/null
return $?
} }
quarterly() { 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="" curr=""
sort -r -k4 -t/ | while read file; do sort -r -k4 -t/ | while read file; do
timestamp=`printf $file | cut -d/ -f4 | tr _ :` # Exclude 'oem' directories
new=`$1 $timestamp` 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 [ "$new" != "$curr" ]; then
if [ "$curr" != "" ]; then if [ "$curr" != "" ]; then
printf "\n" printf "\n"
fi fi
printf "$new:" printf "%s:" "$new"
curr=$new curr=$new
fi fi
printf "$file " printf "%s " "$file"
done done
printf "\n" printf "\n"