mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-13 18:27:35 +00:00
95 lines
3.2 KiB
Bash
Executable File
95 lines
3.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# The contents of this file are subject to the Mozilla Public
|
|
# License Version 1.1 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy of
|
|
# the License at http://www.mozilla.org/MPL/
|
|
#
|
|
# Software distributed under the License is distributed on an "AS
|
|
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
# implied. See the License for the specific language governing
|
|
# rights and limitations under the License.
|
|
#
|
|
# The Original Code is the Bugzilla Bug Tracking System.
|
|
#
|
|
# The Initial Developer of the Original Code is
|
|
# Andreas Franke <afranke@ags.uni-sb.de>.
|
|
# Corporation. Portions created by Andreas Franke are
|
|
# Copyright (C) 2001 Andreas Franke. All
|
|
# Rights Reserved.
|
|
#
|
|
# Contributor(s):
|
|
|
|
conf="`dirname $0`/query.conf"
|
|
|
|
query="http://bugzilla.mozilla.org/buglist.cgi?cmd=doit"
|
|
defaultcolumnlist="severity priority platform status resolution target_milestone status_whiteboard keywords summaryfull"
|
|
|
|
chart=0
|
|
and=0
|
|
while test "$1" != ""; do
|
|
arg=$1
|
|
arg_len=`expr length ${arg}`
|
|
if test `expr substr "${arg}" 1 2` == "--"; then
|
|
eq_pos=`expr match ${arg} '--.*='`
|
|
if test "${eq_pos}" == "0"; then
|
|
echo 'Missing value for long option '"${arg}"' ("=" not found)' 1>&2
|
|
exit 1;
|
|
fi
|
|
# extract option name
|
|
let name_len=${eq_pos}-3
|
|
name=`expr substr ${arg} 3 ${name_len}`
|
|
# extract option value
|
|
let val_start=${eq_pos}+1
|
|
let val_len=${arg_len}-${eq_pos}
|
|
val=`expr substr ${arg} ${val_start} ${val_len}`
|
|
elif test `expr substr ${arg} 1 1` == "-" &&
|
|
test "`expr substr ${arg} 2 1`" != ""; then
|
|
# extract
|
|
name=`expr substr ${arg} 2 1`
|
|
let val_len=${arg_len}-2
|
|
val=`expr substr ${arg} 3 ${val_len}`
|
|
else
|
|
name="default"
|
|
val="${arg}"
|
|
#echo "Unrecognized option ${arg}" 1>&2
|
|
#exit 1
|
|
fi
|
|
|
|
# find field and comparison type for option ${name}
|
|
field=`grep '"'${name}'"' ${conf} | awk '{printf $1}'`
|
|
type=`grep '"'${name}'"' ${conf} | awk '{printf $2}'`
|
|
if test "${field}" == "" || test "${type}" == ""; then
|
|
echo "Field name & comparison type not found for option ${name}." 1>&2
|
|
exit 1;
|
|
fi
|
|
|
|
or=0
|
|
while test "${val}" != ""; do
|
|
comma_idx=`expr index ${val} ,`
|
|
if test ${comma_idx} == "0"; then
|
|
val1="${val}"
|
|
val=""
|
|
else
|
|
let val1_len=${comma_idx}-1
|
|
val1=`expr substr ${val} 1 ${val1_len}`
|
|
val_len=`expr length ${val}`
|
|
let rest_start=${comma_idx}+1
|
|
let rest_len=${val_len}-${comma_idx}
|
|
val=`expr substr ${val} ${rest_start} ${rest_len}`
|
|
fi
|
|
query="${query}&field${chart}-${and}-${or}=${field}"
|
|
query="${query}&type${chart}-${and}-${or}=${type}"
|
|
query="${query}&value${chart}-${and}-${or}=${val1}"
|
|
#echo "----- ${name} : ${field} : ${type} : ${val1} -----" 1>&2
|
|
let or=${or}+1
|
|
done
|
|
let chart=${chart}+1
|
|
shift
|
|
done
|
|
|
|
outputfile="/dev/stdout"
|
|
#outputfile="buglist.html"
|
|
#\rm -f ${outputfile}
|
|
wget -q -O ${outputfile} --header="Cookie: COLUMNLIST=${COLUMNLIST-${defaultcolumnlist}}" "${query}"
|
|
|