;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: sql-create.lisp,v 1.13 2003/05/06 04:42:55 kevin Exp $
+;;;; $Id: sql-create.lisp,v 1.14 2003/05/06 05:11:55 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(make-noneng-index-file extension)
(dolist (f *umls-files*) (translate-umls-file f extension)))
-(defun translate-file (filename extension files)
- "Translate a umls file into a format suitable for sql copy cmd"
- (let ((output-path (umls-pathname filename extension))
- (input-files (mklist files)))
- (if (probe-file output-path)
- (format t "File ~A already exists: skipping~%" output-path)
- (dolist (input-file input-files)
- (with-open-file (ostream output-path :direction :output)
- (with-umls-file (line (umls-file-fil input-file))
- (umls-translate input-file line ostream)
- (princ #\newline ostream)))))))
-
(defun translate-umls-file (file extension)
"Translate a umls file into a format suitable for sql copy cmd"
- (translate-file (umls-file-fil file) extension file))
+ (translate-files (umls-file-fil file) extension (list file)))
(defun make-noneng-index-file (extension)
"Make non-english index file"
- (translate-file "MRXW.NONEN" extension (noneng-lang-index-files)))
+ (translate-files "MRXW.NONEN" extension (noneng-lang-index-files)))
+
+(defun translate-files (output-basename extension input-files)
+ "Translate a umls file into a format suitable for sql copy cmd"
+ (let ((output-path (umls-pathname output-basename extension)))
+ (if (probe-file output-path)
+ (format t "File ~A already exists: skipping~%" output-path)
+ (with-open-file (ostream output-path :direction :output)
+ (dolist (input-file input-files)
+ (with-umls-file (line (umls-file-fil input-file))
+ (umls-translate input-file line ostream)
+ (princ #\newline ostream)))))))
(defun pg-copy-cmd (file extension)
"Return postgresql copy statement for a file"