projects
/
umlisp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
24e20cb
)
r11476: add force translation option
author
Kevin M. Rosenberg
<kevin@rosenberg.net>
Mon, 8 Jan 2007 08:08:01 +0000
(08:08 +0000)
committer
Kevin M. Rosenberg
<kevin@rosenberg.net>
Mon, 8 Jan 2007 08:08:01 +0000
(08:08 +0000)
create-sql.lisp
patch
|
blob
|
history
diff --git
a/create-sql.lisp
b/create-sql.lisp
index 33e85b6584d02b467f77467d80f0f5d6b36dacb9..ad46fb4d28c45fc788ad9b2c6f5385a7625e1f8f 100644
(file)
--- a/
create-sql.lisp
+++ b/
create-sql.lisp
@@
-243,16
+243,15
@@
(sql-create-indexes conn :indexes +custom-index-cols+ :verbose verbose)
(sql-create-special-tables conn)))
(sql-create-indexes conn :indexes +custom-index-cols+ :verbose verbose)
(sql-create-special-tables conn)))
-(defun create-umls-db (&key (extension "-trans") (
skip
-translation nil) (verbose nil))
+(defun create-umls-db (&key (extension "-trans") (
force
-translation nil) (verbose nil))
"SQL Databases: initializes entire database via SQL copy commands.
This is much faster that using create-umls-db-insert."
(when verbose (format t "UMLS Import: Starting.~%"))
(ensure-ucols+ufiles)
(when verbose (format t "UMLS Import: Preparsing files.~%"))
(ensure-preparse)
"SQL Databases: initializes entire database via SQL copy commands.
This is much faster that using create-umls-db-insert."
(when verbose (format t "UMLS Import: Starting.~%"))
(ensure-ucols+ufiles)
(when verbose (format t "UMLS Import: Preparsing files.~%"))
(ensure-preparse)
- (unless skip-translation
- (when verbose (format t "UMLS Import: Converting text UMLS files to optimized format.~%"))
- (translate-all-files :extension extension :verbose verbose))
+ (when verbose (format t "UMLS Import: Converting text UMLS files to optimized format.~%"))
+ (translate-all-files :extension extension :verbose verbose :force force-translation)
(let ((copy-cmd
(ecase (umls-sql-type)
(:mysql #'mysql-copy-cmd)
(let ((copy-cmd
(ecase (umls-sql-type)
(:mysql #'mysql-copy-cmd)
@@
-275,21
+274,21
@@
This is much faster that using create-umls-db-insert."
(When verbose (format t "UMLS Import: Completed.~%"))
t)
(When verbose (format t "UMLS Import: Completed.~%"))
t)
-(defun translate-all-files (&key (extension "-trans") verbose)
+(defun translate-all-files (&key (extension "-trans") verbose
force
)
"Translate all *umls-files* to optimized import format."
(make-noneng-index-file extension)
(dolist (f (remove "MRXW_NONENG.RRF" *umls-files* :test #'string= :key #'fil))
(when verbose (format t "UMLS Import: translating file ~S.~%" (fil f)))
"Translate all *umls-files* to optimized import format."
(make-noneng-index-file extension)
(dolist (f (remove "MRXW_NONENG.RRF" *umls-files* :test #'string= :key #'fil))
(when verbose (format t "UMLS Import: translating file ~S.~%" (fil f)))
- (translate-umls-file f extension)))
+ (translate-umls-file f extension
:force force
)))
-(defun translate-umls-file (file extension)
+(defun translate-umls-file (file extension
&key force
)
"Translate a umls file into a format suitable for sql copy cmd"
"Translate a umls file into a format suitable for sql copy cmd"
- (translate-files file extension (list file)))
+ (translate-files file extension (list file)
:force force
))
-(defun make-noneng-index-file (extension)
+(defun make-noneng-index-file (extension
&key force
)
"Make non-english index file"
(translate-files (find-ufile "MRXW_NONENG.RRF")
"Make non-english index file"
(translate-files (find-ufile "MRXW_NONENG.RRF")
- extension (noneng-lang-index-files)))
+ extension (noneng-lang-index-files)
:force force
))
(defun verify-translation-file (output-path input-ufiles)
"Returns t if translation file exists and is correct size. Warns and deletes incomplete translation file."
(defun verify-translation-file (output-path input-ufiles)
"Returns t if translation file exists and is correct size. Warns and deletes incomplete translation file."
@@
-326,12
+325,13
@@
This is much faster that using create-umls-db-insert."
(delete-file output-path)
nil)))))
(delete-file output-path)
nil)))))
-(defun translate-files (out-ufile extension input-ufiles)
+(defun translate-files (out-ufile extension input-ufiles
&key force
)
"Translate a umls file into a format suitable for sql copy cmd"
(let ((output-path (ufile-pathname out-ufile extension)))
"Translate a umls file into a format suitable for sql copy cmd"
(let ((output-path (ufile-pathname out-ufile extension)))
- (when (
verify-translation-file output-path input-ufiles
)
+ (when (
and (not force) (verify-translation-file output-path input-ufiles)
)
(return-from translate-files output-path))
(with-open-file (ostream output-path :direction :output
(return-from translate-files output-path))
(with-open-file (ostream output-path :direction :output
+ :if-exists :overwrite
#+(and clisp unicode) :external-format
#+(and clisp unicode) charset:utf-8)
(dolist (input-ufile input-ufiles)
#+(and clisp unicode) :external-format
#+(and clisp unicode) charset:utf-8)
(dolist (input-ufile input-ufiles)