#!/bin/sh
# $Id$
# elvis: openbsd		-- Search OpenBSD related information (www.openbsd.org)
. surfraw || exit 1

w3_config_hook () {
defyn   SURFRAW_openbsd_mail            no
defyn   SURFRAW_openbsd_pr              no
defyn   SURFRAW_openbsd_ports           no
defyn   SURFRAW_openbsd_mail_misc	no
defyn   SURFRAW_openbsd_mail_tech	no
}

w3_usage_hook () {
    cat <<EOF
Usage: $w3_argv0 [options] [search-string | PR-number]
Description:
  Surfraw search OpenBSD related information
Local options:
  -mail[=(yes|no)]              Search OpenBSD mailinglists
                                Default: $SURFRAW_openbsd_mail
                                Environment: SURFRAW_openbsd_mail
  -ps[=(yes|no)]                Search ports.
                                Default: $SURFRAW_openbsd_ports
                                Environment: SURFRAW_openbsd_ports
  -misc[=(yes|no)]		Search misc mailing list.
				Default: $SURFRAW_openbsd_mail_misc
  -tech[=(yes|no)]		Search tech mailing list.
				Default: $SURFRAW_openbsd_mail_tech
Examples:
  $w3_argv0                     Teleport to the OpenBSD website
  $w3_argv0 mycroft             Search OpenBSD website for odeur de mycroft
  $w3_argv0 -mail               Teleport to the mail-index Query form
  $w3_argv0 -mail proff         Search mailing-list archives for odeur de proff
  $w3_argv0 -ps surfraw         Search ports for surfraw
  $w3_argv0 -misc supermicro    Search misc mailing list for supermico
  $w3_argv0 -tech SMP           Search tech mailing list for SMP
EOF
    w3_custom_search_usage
    w3_global_usage
}

w3_parse_option_hook () {
    opt="$1"
    optarg="$2"
    case "$opt" in
	-mail)		setoptyn	SURFRAW_openbsd_mail		yes	;;
	-mail=*) 	setoptyn	SURFRAW_openbsd_mail		$optarg	;;
	-ps)		setoptyn	SURFRAW_openbsd_ports		yes	;;
	-ps=*)		setoptyn	SURFRAW_openbsd_ports		$optarg	;;
	-misc)		setoptyn	SURFRAW_openbsd_mail_misc	yes	;;
	-misc=*)	setoptyn	SURFRAW_openbsd_mail_misc 	$optarg	;;
	-tech)		setoptyn	SURFRAW_openbsd_mail_tech 	yes	;;
	-tech=*)	setoptyn	SURFRAW_openbsd_mail_tech 	$optarg	;;
	*) return 1 ;;
    esac
    return 0
}

w3_config
w3_parse_args "$@"
# w3_args now contains a list of arguments
test -z "$w3_args" || escaped_args=`w3_url_of_arg $w3_args`

if ok SURFRAW_openbsd_ports; then
    if test -z "$escaped_args"; then
        w3_browse_url "http://openports.se/"
    else
        w3_browse_url "http://openports.se/search.php?so=${escaped_args}"
    fi
    exit $?
fi
if ok SURFRAW_openbsd_mail; then
    if test -z "$escaped_args"; then
        w3_browse_url "http://www.openbsd.org/mail.html"
    else
        w3_browse_url "http://search.gmane.org/?query=${escaped_args}&sort=relevance&DEFAULTOP=and&group=gmane.os.openbsd.*"
    fi
    exit $?
fi
if ok SURFRAW_openbsd_mail_misc; then
    if test -z "$escaped_args"; then
        w3_browse_url "http://marc.info/?l=openbsd-misc&r=1&w=2"
    else
	w3_browse_url "http://marc.info/?l=openbsd-misc&w=2&r=1&s=${escaped_args}&q=b"
    fi
    exit $?
fi
if ok SURFRAW_openbsd_mail_tech; then
    if test -z "$escaped_args"; then
        w3_browse_url "http://marc.info/?l=openbsd-tech&r=1&w=2"
    else
	w3_browse_url "http://marc.info/?l=openbsd-tech&w=2&r=1&s=${escaped_args}&q=b"
    fi
    exit $?
fi
if test -z "$escaped_args"; then
    w3_browse_url "http://www.openbsd.org/"
else
    w3_custom_search -s=openbsd.org "$w3_shquoted_args"
fi
exit $?
