[Surfraw-commits] [SCM] surfraw - a fast unix command line interface to WWW branch, master, updated. surfraw_2-2-5_1-183-g331d9f1

Ian Beckwith ianb at erislabs.net
Thu May 12 02:16:09 UTC 2011


The following commit has been merged in the master branch:
commit eb94e4130287ae5cf96c9547b9267131fd62d281
Author: Jason Ryan <jasonwryan at gmail.com>
Date:   Thu May 12 02:20:32 2011 +0100

    New elvi: archwiki, stack, deli

diff --git a/AUTHORS b/AUTHORS
index ba593ea..592219a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -117,6 +117,8 @@ Kyle Isom <coder at kyleisom.net>
         elvi: cablesearch, duckduckgo, openports
 	plus fixes.
 
+Jason Ryan <jasonwryan at gmail.com>
+        elvi: archwiki, deli, stack
 
 THANKS TO
 
diff --git a/ChangeLog b/ChangeLog
index 6e7de5d..e96a2e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2011-05-12  Ian Beckwith  <ianb at erislabs.net>
+
+	* Added tests for archwiki, deli & stack.
+
+2011-05-12  Jason Ryan  <jasonwryan at gmail.com>
+
+	* New elvi:
+	  + archwiki: search the arch wiki.
+	  + deli: search delicious.com.
+	  + stack: search stackoverflow.com and friends.
+
 2011-03-21  Ian Beckwith  <ianb at erislabs.net>
 
 	* google: Added -safe=default|off|moderate|strict
diff --git a/README b/README
index dc29114..d268c6e 100644
--- a/README
+++ b/README
@@ -154,115 +154,118 @@ Options
 
   $ surfraw -elvi
  GLOBAL ELVI:
-W                 -- Activate Surfraw defined web-browser
-acronym           -- Look for acronyms definitions (www.acronymfinder.com)
-ads               -- Search SAO/NASA Astrophysics Data System
-alioth            -- Search Alioth (alioth.debian.org)
-amazon            -- Search the amazon.com bookstore
-archpkg           -- Search Arch Linux packages (www.archlinux.org)
-arxiv             -- Search arXiv E-Print Archive for articles
-ask               -- Question the web using Ask Jeeves (www.ask.com)
-aur               -- Search aur.archlinux.org for PKGBUILDs
-austlii           -- Search Australian Law docs (www.austlii.edu.au)
-bbcnews           -- Search BBC News (news.bbc.co.uk)
-bing              -- Search the web using Microsoft's Bing (www.bing.com)
-bookfinder        -- Search for books using www.bookfinder.com
-bugmenot          -- Bypass compulsory web registration with bugmenot.com
-cablesearch       -- Search leaked diplomatic cables.
-cia               -- Search CIA documents at www.cia.gov
-cite              -- Search computer science papers (citeseerx.ist.psu.edu)
-cliki             -- Search the common lisp wiki
-cnn               -- Search on CNN (cnn.com)
-codesearch        -- Search source code using Google Code Search (www.google.com/codesearch)
-comlaw            -- Search Australian Law using Comlaw (www.comlaw.gov.au)
-ctan              -- Search the Comprehensive TeX Archive Network (ctan.org)
-currency          -- Convert currencies with the Universal Currency Converter (www.xe.net/ucc)
-cve               -- Search for CAN assignments in CVE
-debbugs           -- Search the debian BTS (bugs.debian.org)
-debcontents       -- Search contents of debian/ubuntu packages (packages.debian.org/packages.ubuntu.com)
-deblists          -- Search debian mailing lists (lists.debian.org/search.html)
-deblogs           -- Show changelogs for a package in Debian main (changelogs.debian.net)
-debpackages       -- Search debian/ubuntu packages (packages.debian.org/packages.ubuntu.com)
-debpkghome        -- Visit the home page for a Debian package
-debpts            -- Search the Debian Package Tracking System (packages.qa.debian.org)
-debsec            -- Search the Debian Security Tracker for CVE ids or package names
-debvcsbrowse      -- Browse the VCS repository for a Debian package
-debwiki           -- Search the Debian Wikis (wiki.debian.org & women.debian.org/wiki)
-deja              -- Search usenet using Google Groups (groups.google.com)
-discogs           -- Search the Discogs database of music information (www.discogs.com)
-dmoz              -- Search the Open Directory Project web directory (dmoz.org)
-duckduckgo        -- Securely search the web using duckduckgo (www.duckduckgo.com)
-ebay              -- Search the Ebay auction site
-etym              -- Look up word origins at www.etymonline.com
-excite            -- Search on Excite (www.excite.com)
-filesearching     -- Search files on filesearching (www.filesearching.com)
-finkpkg           -- Search Fink packages (pdb.finkproject.org)
-foldoc            -- The Free On-Line Dictionary Of Computing (foldoc.org)
-freebsd           -- Search FreeBSD related information (www.freebsd.org)
-freedb            -- Search for cd track listings in FreeDB (www.freedb.org)
-freshmeat         -- Search Freshmeat (www.freshmeat.net)
-fsfdir            -- Search the FSF/UNESCO Free Software Directory (directory.fsf.org)
-gcache            -- Search the web using Google cache (www.google.com)
-genbugs           -- Search the Gentoo bug tracker (bugs.gentoo.org)
-genportage        -- Search gentoo-portage.com for packages
-google            -- Search the web using Google (www.google.com)
-gutenberg         -- Search for books on Project Gutenberg (gutenberg.org)
-happypenguin      -- Search the Linux Game Tome (www.happypenguin.org)
-imdb              -- Search the Internet Movie Database (www.imdb.com)
-ixquick           -- Search the web using ixquick [HTTPS] (www.ixquick.com)
-jamendo           -- Search Jamendo: free music with Creative Commons licenses (www.jamendo.com)
-javasun           -- Search Java API docs (java.sun.com)
-l1sp              -- Search lisp documentation
-lastfm            -- Search last.fm
-leodict           -- Search Leo's German <-> English dictionary (dict.leo.org)
-lsm               -- Search the Linux Software Map
-macports          -- Search macports packages (macports.org)
-mathworld         -- Search Wolfram MathWorld
-mininova          -- Search the mininova bittorent source.
-musicbrainz       -- Search MusicBrainz (musicbrainz.org)
-netbsd            -- Search NetBSD related information (www.netbsd.org)
-ntrs              -- Search the NASA Technical Report Server
-openbsd           -- Search OpenBSD related information (www.openbsd.org)
-openports         -- Search for OpenBSD ports (www.openports.se)
-opensearch        -- Search an OpenSearch-enabled website
-pgpkeys           -- Search the PGP key database
-pasearch          -- Search the unofficial Penny Arcade archives (pipefour.org/pa)
-piratebay         -- Search thepiratebay.org for torrents
-port              -- Look up a TCP/UDP port number on seifried.org/security/ports/
-pubmed            -- Search medical/molbio databases (www.ncbi.nlm.nih.gov)
-rae               -- Busca en el diccionario de la Real Academia de la Lengua Española (Spanish Dictionary)
-rfc               -- Search RFCs (internet standards documents)
-rhyme             -- Search for rhymes et al using Lycos Rhyme (rhyme.lycos.com)
-rpmsearch         -- Search for RPMs in various distros
-scholar           -- Search Google Scholar (scholar.google.com)
-scicom            -- Search Scientific Commons
-scirus            -- Search for science using Scirus (scirus.com)
-scitopia          -- Search for science with scitopia.org
-scpan             -- Search the Comprehensive Perl Archive Network (search.cpan.org)
-scroogle          -- Search Google anonymously via Scroogle (www.scroogle.org)
-slashdot          -- Search stories on Slashdot (www.slashdot.org)
-slinuxdoc         -- Search entries in LDP (www.linuxdoc.org)
-sourceforge       -- Search SourceForge (www.sourceforge.net)
-springer          -- Search Springer for Books and Articles
-stockquote        -- Get a single stock quote (multiple providers)
-sunonesearch      -- Search Sun One Search (onesearch.sun.com)
-thesaurus         -- Look up word in Merriam-Webster's Thesaurus (www.m-w.com)
-translate         -- Translate human languages (various providers)
-urban             -- Search urbandictionary.com for a definition
-w3css             -- Validate a CSS URL with the w3c CSS validator (jigsaw.w3.org/css-validator)
-w3html            -- Validate a web page URL with the w3c validator (validator.w3.org)
-w3link            -- Check web page links with the w3c linkchecker (validator.w3.org/checklink)
-w3rdf             -- Validate a RDF URL with the w3c RDF validator (validator.w3.org)
-wayback           -- Search The Internet Archive's Wayback Machine for a URL (archive.org)
-webster           -- Look up word in Merriam-Webster's Dictionary (www.m-w.com)
-wetandwild        -- Real time weather information (many sources)
-wikipedia         -- Search the free encyclopedia wikipedia
-woffle            -- Search the web using Woffle (localhost:8080)
-worldwidescience  -- Search for science with www.worldwidescience.org
-yahoo             -- Search Yahoo categories (www.yahoo.com)
-yandex            -- Search the web using Yandex (yandex.ru)
-youtube           -- Search YouTube (www.youtube.com)
-yubnub            -- Use the social command-line for the web (yubnub.org)
+W               -- Activate Surfraw defined web-browser
+acronym         -- Look for acronyms definitions (www.acronymfinder.com)
+ads             -- Search SAO/NASA Astrophysics Data System
+alioth          -- Search Alioth (alioth.debian.org)
+amazon          -- Search the amazon.com bookstore
+archpkg         -- Search Arch Linux packages (www.archlinux.org)
+archwiki        -- Search the Arch Linux Wiki
+arxiv           -- Search arXiv E-Print Archive for articles
+ask             -- Question the web using Ask Jeeves (www.ask.com)
+aur             -- Search aur.archlinux.org for PKGBUILDs
+austlii         -- Search Australian Law docs (www.austlii.edu.au)
+bbcnews         -- Search BBC News (news.bbc.co.uk)
+bing            -- Search the web using Microsoft's Bing (www.bing.com)
+bookfinder      -- Search for books using www.bookfinder.com
+bugmenot        -- Bypass compulsory web registration with bugmenot.com
+bugzilla        -- Search for bugs on Bugzilla bugtrackers
+cablesearch     -- search openports for OpenBSD packages
+cia             -- Search CIA documents at www.cia.gov
+cite            -- Search computer science papers (citeseerx.ist.psu.edu)
+cliki           -- Search the common lisp wiki
+cnn             -- Search on CNN (cnn.com)
+codesearch      -- Search source code using Google Code Search (www.google.com/codesearch)
+comlaw          -- Search Australian Law using Comlaw (www.comlaw.gov.au)
+ctan            -- Search the Comprehensive TeX Archive Network (ctan.org)
+currency        -- Convert currencies with the Universal Currency Converter (www.xe.net/ucc)
+cve             -- Search for CAN assignments in CVE
+debbugs         -- Search the debian BTS (bugs.debian.org)
+debcontents     -- Search contents of debian/ubuntu packages (packages.debian.org/packages.ubuntu.com)
+deblists        -- Search debian mailing lists (lists.debian.org/search.html)
+deblogs         -- Show changelogs for a package in Debian main (changelogs.debian.net)
+debpackages     -- Search debian/ubuntu packages (packages.debian.org/packages.ubuntu.com)
+debpkghome      -- Visit the home page for a Debian package
+debpts          -- Search the Debian Package Tracking System (packages.qa.debian.org)
+debsec          -- Search the Debian Security Tracker for CVE ids or package names
+debvcsbrowse    -- Browse the VCS repository for a Debian package
+debwiki         -- Search the Debian Wikis (wiki.debian.org & women.debian.org/wiki)
+deja            -- Search usenet using Google Groups (groups.google.com)
+deli            -- Search Delicious bookmarks
+discogs         -- Search the Discogs database of music information (www.discogs.com)
+dmoz            -- Search the Open Directory Project web directory (dmoz.org)
+duckduckgo      -- Securely search the web using duckduckgo (www.duckduckgo.com)
+ebay            -- Search the Ebay auction site
+etym            -- Look up word origins at www.etymonline.com
+excite          -- Search on Excite (www.excite.com)
+filesearching   -- Search files on filesearching (www.filesearching.com)
+finkpkg         -- Search Fink packages (pdb.finkproject.org)
+foldoc          -- The Free On-Line Dictionary Of Computing (foldoc.org)
+freebsd         -- Search FreeBSD related information (www.freebsd.org)
+freedb          -- Search for cd track listings in FreeDB (www.freedb.org)
+freshmeat       -- Search Freshmeat (www.freshmeat.net)
+fsfdir          -- Search the FSF/UNESCO Free Software Directory (directory.fsf.org)
+gcache          -- Search the web using Google cache (www.google.com)
+genbugs         -- Search the Gentoo bug tracker (bugs.gentoo.org)
+genportage      -- Search gentoo-portage.com for packages
+google          -- Search the web using Google (www.google.com)
+gutenberg       -- Search for books on Project Gutenberg (gutenberg.org)
+happypenguin    -- Search the Linux Game Tome (www.happypenguin.org)
+imdb            -- Search the Internet Movie Database (www.imdb.com)
+ixquick         -- Search the web using ixquick [HTTPS] (www.ixquick.com)
+jamendo         -- Search Jamendo: free music with Creative Commons licenses (www.jamendo.com)
+javasun         -- Search Java API docs (java.sun.com)
+l1sp            -- Search lisp documentation
+lastfm          -- Search last.fm
+leodict         -- Search Leo's German <-> English dictionary (dict.leo.org)
+lsm             -- Search the Linux Software Map
+macports        -- Search macports packages (macports.org)
+mathworld       -- Search Wolfram MathWorld
+mininova        -- Search the mininova bittorent source.
+musicbrainz     -- Search MusicBrainz (musicbrainz.org)
+netbsd          -- Search NetBSD related information (www.netbsd.org)
+ntrs            -- Search the NASA Technical Report Server
+openbsd         -- Search OpenBSD related information (www.openbsd.org)
+openports       -- search openports for OpenBSD packages
+opensearch      -- Search an OpenSearch-enabled website
+pasearch        -- Search the unofficial Penny Arcade archives (pipefour.org/pa)
+pgpkeys         -- Search the PGP key database
+piratebay       -- Search thepiratebay.org for torrents
+pubmed          -- Search medical/molbio databases (www.ncbi.nlm.nih.gov)
+rae             -- Busca en el diccionario de la Real Academia de la Lengua Española (Spanish Dictionary)
+rfc             -- Search RFCs (internet standards documents)
+rhyme           -- Search for rhymes et al using Lycos Rhyme (rhyme.lycos.com)
+rpmsearch       -- Search for RPMs in various distros
+scholar         -- Search Google Scholar (scholar.google.com)
+scicom          -- Search Scientific Commons
+scirus          -- Search for science using Scirus (scirus.com)
+scitopia        -- Search for science with scitopia.org
+scpan           -- Search the Comprehensive Perl Archive Network (search.cpan.org)
+scroogle        -- Search Google anonymously via Scroogle (www.scroogle.org)
+slashdot        -- Search stories on Slashdot (www.slashdot.org)
+slinuxdoc       -- Search entries in LDP (www.linuxdoc.org)
+sourceforge     -- Search SourceForge (www.sourceforge.net)
+springer        -- Search Springer for Books and Articles
+stack           -- Search Stack Overflow
+stockquote      -- Get a single stock quote (multiple providers)
+sunonesearch    -- Search Sun One Search (onesearch.sun.com)
+thesaurus       -- Look up word in Merriam-Webster's Thesaurus (www.m-w.com)
+translate       -- Translate human languages (various providers)
+urban           -- Search urbandictionary.com for a definition
+w3css           -- Validate a CSS URL with the w3c CSS validator (jigsaw.w3.org/css-validator)
+w3html          -- Validate a web page URL with the w3c validator (validator.w3.org)
+w3link          -- Check web page links with the w3c linkchecker (validator.w3.org/checklink)
+w3rdf           -- Validate a RDF URL with the w3c RDF validator (validator.w3.org)
+wayback         -- Search The Internet Archive's Wayback Machine for a URL (archive.org)
+webster         -- Look up word in Merriam-Webster's Dictionary (www.m-w.com)
+wetandwild      -- Real time weather information (many sources)
+wikipedia       -- Search the free encyclopedia wikipedia
+woffle          -- Search the web using Woffle (localhost:8080)
+worldwidescience        -- Search for science with www.worldwidescience.org
+yahoo           -- Search Yahoo categories (www.yahoo.com)
+yandex          -- Search the web using Yandex (yandex.ru)
+youtube         -- Search YouTube (www.youtube.com)
+yubnub          -- Use the social command-line for the web (yubnub.org)
 
   All elvi have useful low calorie help, for example:
 
diff --git a/elvi/Makefile.am b/elvi/Makefile.am
index dac172a..676e5f6 100644
--- a/elvi/Makefile.am
+++ b/elvi/Makefile.am
@@ -8,6 +8,7 @@ dist_elvi_SCRIPTS	= \
 		  alioth \
 		  amazon \
 		  archpkg \
+		  archwiki \
 		  arxiv \
 		  ask \
 		  aur \
@@ -38,6 +39,7 @@ dist_elvi_SCRIPTS	= \
 		  debvcsbrowse \
 		  debwiki \
 		  deja \
+		  deli \
 		  discogs \
 		  dmoz \
 		  duckduckgo \
@@ -91,6 +93,7 @@ dist_elvi_SCRIPTS	= \
 		  slinuxdoc \
 		  sourceforge \
 		  springer \
+		  stack \
 		  stockquote \
 		  sunonesearch \
 		  thesaurus \
diff --git a/elvi/archwiki b/elvi/archwiki
new file mode 100755
index 0000000..ad5fef8
--- /dev/null
+++ b/elvi/archwiki
@@ -0,0 +1,76 @@
+#!/bin/sh
+# elvis: archwiki	-- Search the Arch Linux Wiki
+# Author: http://jasonwryan.com
+
+. surfraw || exit 1
+
+w3_config_hook () {
+def   SURFRAW_archwiki_language	"$SURFRAW_lang"
+}
+
+w3_usage_hook () {
+    cat <<EOF
+Usage: $w3_argv0 [options] [search-string]
+Description:
+  Search the Arch Linux Wiki (wiki.archlinux.org)
+
+Local options
+ -language=ISOCODE              Two letter language code (resembles ISO country codes)
+ -l=ISOCODE
+           en           |       Main Arch Wiki site (default)
+           fr           |       French
+           de           |       German
+           he           |       Hebrew
+           pl           |       Polish
+           pt           |       Portugese
+           ro           |       Romanian
+           es           |       Spanish
+           sv           |       Swedish
+           uk           |       Ukranian
+                                Environment: SURFRAW_archwiki_language, SURFRAW_lang
+                                Default: en
+EOF
+    w3_global_usage
+}
+
+w3_parse_option_hook () {
+    opt="$1"
+    optarg="$2"
+    case "$opt" in
+	-language=*)	setopt	SURFRAW_archwiki_language	$optarg	;;
+	-l=*)			setopt	SURFRAW_archwiki_language	$optarg	;;
+	*) return 1 ;;
+    esac
+    return 0
+}
+w3_config
+w3_parse_args "$@"
+# w3_args now contains list of arguments
+
+case "$SURFRAW_archwiki_language" in
+    en) domain=".org"		;;
+    fr) domain=".fr"		;;
+    de) domain=".de"		;;
+    he) domain=".il"		;;
+    pl) domain=".pl"		;;
+    pt) domain="-br.org"	;;
+    ro) domain=".ro"		;;
+    es) domain=".cl"		;;
+    sv) domain=".sv"		;;
+    uk) domain=".ua"		;;
+     *) domain=".org"		;;
+esac
+
+# handle ssl
+if [ $domain = ".org" -o $domain = ".de" ]; then
+	protocol="https://";
+  else
+	protocol="http://";
+fi
+
+if [ -z "$w3_args" ]; then
+    w3_browse_url "${protocol}wiki.archlinux${domain}/"
+else
+    escaped_args=$(w3_url_of_arg $w3_args)
+    w3_browse_url "${protocol}wiki.archlinux${domain}/index.php?search=${escaped_args}"
+fi
diff --git a/elvi/deli b/elvi/deli
new file mode 100755
index 0000000..6e6f6d3
--- /dev/null
+++ b/elvi/deli
@@ -0,0 +1,62 @@
+#!/bin/sh
+# elvis: deli		-- Search Delicious bookmarks
+# Author: jason ryan • http://jasonwryan.com
+
+. surfraw || exit 1
+
+w3_config_hook () {
+def   SURFRAW_delicious_results $SURFRAW_results
+def   SURFRAW_delicious_tags $SURFRAW_tags
+def   SURFRAW_delicious_user $SURFRAW_user
+}
+
+w3_usage_hook () {
+    cat <<EOF
+Usage: $w3_argv0 [options] [search-string]
+Description: Search Delicious bookmarks (www.delicious.com)
+
+Local options
+ -tags=TAG  | -t=TAG            Refine your search with tags
+                                [Separate multiple tags with "+"]
+
+ -user=USER | -u=USER           Search a particular user's bookmarks
+
+EOF
+    w3_global_usage
+}
+
+w3_parse_option_hook () {
+    opt="$1"
+    optarg="$2"
+    case "$opt" in
+	-tags=*)  setopt	SURFRAW_delicious_tags	$optarg  ;;
+	-t=*)     setopt	SURFRAW_delicious_tags	$optarg  ;;
+	-u=*)     setopt	SURFRAW_delicious_user	$optarg  ;;
+	-user=*)  setopt	SURFRAW_delicious_user	$optarg  ;;
+	*) return 1 ;;
+    esac
+    return 0
+}
+w3_config
+w3_parse_args "$@"
+# w3_args now contains list of arguments
+
+# standard topic seach
+if [ -z "$w3_args" ]; then
+	w3_browse_url "http://www.delicious.com/search?p=${SURFRAW_delicious_results}&chk=&context=all&fr=del_icio_us&lc=1"
+else
+	escaped_args=$(w3_url_of_arg $w3_args)
+
+	# search for topic and tag(s) in a user's bookmarks
+	if [ -n "${SURFRAW_delicious_user}" -a "${SURFRAW_delicious_tags}" ]; then
+	w3_browse_url "http://www.delicious.com/search?p=${escaped_args}&chk=&fr=del_icio_us&lc=1&atags=${SURFRAW_delicious_tags}&rtags=&context=userposts%7C${SURFRAW_delicious_user}%7C"
+
+	# search for topic in a user's bookmarks
+	elif [ -n "${SURFRAW_delicious_user}" ]; then
+	w3_browse_url "http://www.delicious.com/search?p=${escaped_args}&chk=&context=userposts%7C${SURFRAW_delicious_user}&fr=del_icio_us&lc=1"
+
+	# search for topic with tag(s)
+	else
+	w3_browse_url "http://www.delicious.com/search?p=${escaped_args}&chk=&fr=del_icio_us&lc=1&atags=${SURFRAW_delicious_tags}&rtags=&context=userposts=all"
+	fi
+fi
diff --git a/elvi/stack b/elvi/stack
new file mode 100755
index 0000000..56ee353
--- /dev/null
+++ b/elvi/stack
@@ -0,0 +1,85 @@
+#!/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
+
diff --git a/links.IN b/links.IN
index 39a7c5a..393ad62 100644
--- a/links.IN
+++ b/links.IN
@@ -4,6 +4,7 @@ elvi.1sr.gz @mandir@/man1/ads.1sr.gz
 elvi.1sr.gz @mandir@/man1/alioth.1sr.gz
 elvi.1sr.gz @mandir@/man1/amazon.1sr.gz
 elvi.1sr.gz @mandir@/man1/archpkg.1sr.gz
+elvi.1sr.gz @mandir@/man1/archwiki.1sr.gz
 elvi.1sr.gz @mandir@/man1/arxiv.1sr.gz
 elvi.1sr.gz @mandir@/man1/ask.1sr.gz
 elvi.1sr.gz @mandir@/man1/aur.1sr.gz
@@ -34,6 +35,7 @@ elvi.1sr.gz @mandir@/man1/debsec.1sr.gz
 elvi.1sr.gz @mandir@/man1/debvcsbrowse.1sr.gz
 elvi.1sr.gz @mandir@/man1/debwiki.1sr.gz
 elvi.1sr.gz @mandir@/man1/deja.1sr.gz
+elvi.1sr.gz @mandir@/man1/deli.1sr.gz
 elvi.1sr.gz @mandir@/man1/discogs.1sr.gz
 elvi.1sr.gz @mandir@/man1/dmoz.1sr.gz
 elvi.1sr.gz @mandir@/man1/duckduckgo.1sr.gz
@@ -87,6 +89,7 @@ elvi.1sr.gz @mandir@/man1/slashdot.1sr.gz
 elvi.1sr.gz @mandir@/man1/slinuxdoc.1sr.gz
 elvi.1sr.gz @mandir@/man1/sourceforge.1sr.gz
 elvi.1sr.gz @mandir@/man1/springer.1sr.gz
+elvi.1sr.gz @mandir@/man1/stack.1sr.gz
 elvi.1sr.gz @mandir@/man1/stockquote.1sr.gz
 elvi.1sr.gz @mandir@/man1/sunonesearch.1sr.gz
 elvi.1sr.gz @mandir@/man1/thesaurus.1sr.gz
diff --git a/test/Makefile.am b/test/Makefile.am
index 5fbbb40..8beaa6b 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,25 +1,26 @@
 EXTRA_DIST = runtests elviwithouttests README COOKIES W.test		\
 	acronym.test ads.test alioth.test amazon.test archpkg.test	\
-	arxiv.test ask.test aur.test austlii.test bbcnews.test		\
-	bing.test bookfinder.test bugmenot.test bugzilla.test		\
-	cablesearch.test cia.test cite.test cliki.test cnn.test		\
-	codesearch.test comlaw.test ctan.test currency.test cve.test	\
-	debbugs.test debcontents.test deblists.test deblogs.test	\
-	debpackages.test debpkghome.test debpts.test debsec.test	\
-	debvcsbrowse.test debwiki.test deja.test discogs.test		\
-	dmoz.test duckduckgo.test ebay.test etym.test excite.test	\
-	filesearching.test finkpkg.test foldoc.test freebsd.test	\
-	freedb.test freshmeat.test fsfdir.test gcache.test		\
-	genbugs.test genportage.test google.test gutenberg.test		\
-	happypenguin.test imdb.test ixquick.test jamendo.test		\
-	javasun.test lastfm.test leodict.test l1sp.test lsm.test	\
-	macports.test mathworld.test mininova.test musicbrainz.test	\
-	netbsd.test ntrs.test openbsd.test openports.test		\
-	opensearch.test pasearch.test piratebay.test pgpkeys.test	\
-	pubmed.test rae.test rfc.test rhyme.test rpmsearch.test		\
-	scholar.test scicom.test scitopia.test scirus.test scpan.test	\
-	scroogle.test slashdot.test slinuxdoc.test sourceforge.test	\
-	springer.test stockquote.test sunonesearch.test thesaurus.test	\
+	archwiki.test arxiv.test ask.test aur.test austlii.test		\
+	bbcnews.test bing.test bookfinder.test bugmenot.test		\
+	bugzilla.test cablesearch.test cia.test cite.test cliki.test	\
+	cnn.test codesearch.test comlaw.test ctan.test currency.test	\
+	cve.test debbugs.test debcontents.test deblists.test		\
+	deblogs.test debpackages.test debpkghome.test debpts.test	\
+	debsec.test debvcsbrowse.test debwiki.test deja.test		\
+	deli.test discogs.test dmoz.test duckduckgo.test ebay.test	\
+	etym.test excite.test filesearching.test finkpkg.test		\
+	foldoc.test freebsd.test freedb.test freshmeat.test		\
+	fsfdir.test gcache.test genbugs.test genportage.test		\
+	google.test gutenberg.test happypenguin.test imdb.test		\
+	ixquick.test jamendo.test javasun.test lastfm.test		\
+	leodict.test l1sp.test lsm.test macports.test mathworld.test	\
+	mininova.test musicbrainz.test netbsd.test ntrs.test		\
+	openbsd.test openports.test opensearch.test pasearch.test	\
+	piratebay.test pgpkeys.test pubmed.test rae.test rfc.test	\
+	rhyme.test rpmsearch.test scholar.test scicom.test		\
+	scitopia.test scirus.test scpan.test scroogle.test		\
+	slashdot.test slinuxdoc.test sourceforge.test springer.test	\
+	stack.test stockquote.test sunonesearch.test thesaurus.test	\
 	translate.test urban.test w3css.test w3html.test w3link.test	\
 	w3rdf.test wayback.test webster.test wetandwild.test		\
 	wikipedia.test woffle.test worldwidescience.test yahoo.test	\
diff --git a/test/archwiki.test b/test/archwiki.test
new file mode 100644
index 0000000..6274133
--- /dev/null
+++ b/test/archwiki.test
@@ -0,0 +1,2 @@
+archwiki firmware
+Unified Extensible Firmware Interface
diff --git a/test/deli.test b/test/deli.test
new file mode 100644
index 0000000..696e63a
--- /dev/null
+++ b/test/deli.test
@@ -0,0 +1,2 @@
+deli Complete Work of Charles
+<b>Work</b> <b>of</b> <b>Charles</b> Darwin
diff --git a/test/stack.test b/test/stack.test
new file mode 100644
index 0000000..9b81299
--- /dev/null
+++ b/test/stack.test
@@ -0,0 +1,2 @@
+stack Python Debian CentOS
+system is Debian or CentOS in Python

-- 
surfraw -  a fast unix command line interface to WWW



More information about the Surfraw-commits mailing list