[Surfraw-devel] New elvis: Stack Overflow

Jason Ryan jasonwryan at gmail.com
Sat Apr 30 07:49:53 UTC 2011


Hi,

Another elvis - this time for Stack Overflow, with a switch for Unix & Linux
Exchange. Same caveats as the Arch Wiki one apply.

Cheers,

-- 

http://jasonwryan.com/


-------------- next part --------------
#!/bin/sh
# elvis: stack	--  Search Stack Overflow
# Author: jason ryan ? http://jasonwryan.com

. surfraw || exit 1

w3_config_hook () {
def   SURFRAW_stack_categories  "$SURFRAW_categories"
def   SURFRAW_stack_unix         0	
def   SURFRAW_stack_results      25	
}

w3_usage_hook () {
    cat <<EOF

Usage: $w3_argv0 [options] [search-string]
Description: 
	Search Stack Overflow (http://stackoverflow.com)
	Combine search terms (tags) with a "+" eg., "bash+script"

	Local options:
	-sort=CATEGORIES  | -s=CATEGORIES
	new    |   Most recently asked (default)
	feat   |   Questions with open bounties
	vote   |   Questions with most votes
	active |   Recently active
	null   |   No upvoted answers
	faq    |   Questions with the most links
	           Default: new

	-u     |   Search Unix & Linux Exchange
	           Default: no

	-num=NUMBER  |  Number of results per page
	                Default: $SURFRAW_stack_results

EOF
    w3_global_usage
}

w3_parse_option_hook () {
    opt="$1"
    optarg="$2"
    case "$opt" in
	-sort=*)    setopt   SURFRAW_stack_categories   $optarg ;;
	-s=*)       setopt   SURFRAW_stack_categories   $optarg ;;
	-num=*)     setopt   SURFRAW_stack_results      $optarg ;;
	-u)         setoptyn SURFRAW_stack_unix         1       ;;
	*) return 1 ;;
    esac
    return 0
}
w3_config
w3_parse_args "$@"
# w3_args now contains list of arguments
case "$SURFRAW_stack_categories" in
	new)    category="newest"     	;;
	feat)   category="featured"   	;;
	vote)   category="votes"      	;;
	active) category="active"     	;;
	null)   category="unanswered" 	;;
	faq)    category="faq"        	;;
	*)      category="newest"     	;;
esac

# Check for Unix & Linux Exchange
if [ "$SURFRAW_stack_unix" = 1 ]; then
	url="http://unix.stackexchange.com"
else
	url="http://stackoverflow.com"
fi

# No arguments passed
if [ -z "$w3_args" ]; then
    w3_browse_url "$url"
else
    escaped_args=$(w3_url_of_arg $w3_args)
	if [ -n "$SURFRAW_stack_categories" ]; then
	w3_browse_url "${url}/questions/tagged/${escaped_args}?sort=${category}&pagesize=${SURFRAW_stack_results}"
	else
	w3_browse_url "${url}/questions/tagged/${escaped_args}"
	fi
fi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/surfraw-devel/attachments/20110430/7f2c6bc1/attachment.pgp>


More information about the Surfraw-devel mailing list