gnucash/lib/guile-www/main.scm
Dave Peticolas 1a63b7f75d 2001-04-17 Rob Browning <rlb@cs.utexas.edu>
* src/scm/utilities.scm (string-split): used to be string-split-on
	in qif-utils.scm

	* src/scm/qif-import/qif-utils.scm: move string-split-on to
	utilities.scm as string-split to better match string-join.

	* src/scm/qif-import/qif-to-gnc.scm (qif-import:qif-to-gnc):
	string-split-on -> string-split.

	* src/scm/qif-import/qif-dialog-utils.scm
	(qif-import:get-all-accts): string-split-on -> string-split.

	* src/scm/price-quotes.scm (yahoo-get-historical-quotes): new
	function - retrieve lists of historical quote information.

	* src/scm/bootstrap.scm.in (%load-path): add new guile-modules
	directory so we can use-modules from there.

	* src/guile/Makefile.am (CLEANFILES): add gnucash.c so it goes
	away on "make clean" in addition to "make distclean".

	* src/engine/gnc-pricedb.c: minor doc updates.

	* src/engine/gnc-pricedb.h: much more documentation.

	* lib/guile-www: new directory - contains guile-www CVS module.
	Used by new historical quote function.  Several new files added.
	Installed to new install directory GNC_SHAREDIR/guile-modules such
	that it is available via (use-modules (www main)), etc.

	* lib/Makefile.am (SUBDIRS): add guile-www

	* configure.in (AC_OUTPUT): add lib/guile-www/Makefile


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3988 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-04-17 21:37:38 +00:00

50 lines
1.6 KiB
Scheme
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;;;; www/main.scm: general WWW navigation aids.
(define-module (www main)
:use-module (www http)
:use-module (www url))
;;;; Copyright (C) 1997 Free Software Foundation, Inc.
;;;;
;;;; This program is free software; you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
;;;; the Free Software Foundation; either version 2, or (at your option)
;;;; any later version.
;;;;
;;;; This program is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;;; GNU General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with this software; see the file COPYING. If not, write to
;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
;;;; Boston, MA 02111-1307 USA
;;;;
(define dispatch-table
(acons 'http http:get '()))
;;; (www:get URL)
;;; parse a URL into portions, open a connection, and retrieve
;;; selected document
(define-public (www:set-protocol-handler! proto handler)
(set! dispatch-table
(assq-set! dispatch-table proto handler)))
(define-public (www:get url-str)
(let ((url (url:parse url-str)))
;; get handler for this protocol
(case (url:scheme url)
((http) (let ((msg (http:get url)))
(http:message-body msg)))
(else
(let ((handle (assq-ref dispatch-table (url:scheme url))))
(if handle
(handle (url:host url)
(url:port url)
(url:path url))
(error "unknown URL scheme" (url:scheme url))))))))