#!/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 . # 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}"