X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcsvtodiag.tcl;h=12e263c45ede740f2bf5d93754aaf4ced5885aa7;hp=3224647958a939be210b88f70b43c3fc805e24d5;hb=5ef9ca5de57e415b34c21fe0d17a79f7b8e6b636;hpb=abd3118d2280ffe01b4ff3a7b36428b7b5c91827 diff --git a/src/csvtodiag.tcl b/src/csvtodiag.tcl index 3224647..12e263c 100644 --- a/src/csvtodiag.tcl +++ b/src/csvtodiag.tcl @@ -1,8 +1,7 @@ # This file is part of the YAZ toolkit -# Copyright (c) Index Data 1996-2006 +# Copyright (C) Index Data # See the file LICENSE for details. # -# $Id: csvtodiag.tcl,v 1.3 2006-04-20 20:50:51 adam Exp $ # # Converts a CSV file with diagnostics to C+H file for easy # maintenance @@ -21,6 +20,10 @@ proc csvtodiag {ifiles name alias} { puts $hfile "/** \\file [lindex $ifiles 2]" set preamble " \\brief Diagnostics: Generated by csvtodiag.tcl from [lindex $ifiles 0] */" puts $cfile $preamble + puts $cfile "\#ifdef HAVE_CONFIG_H" + puts $cfile "\#include " + puts $cfile "\#endif" + puts $cfile " #include \"diag-entry.h\" \#include \"[lindex $ifiles 2]\" @@ -91,3 +94,55 @@ YAZ_END_CDECL close $hfile } +proc csvto_xml {csvfname xmlfname id} { + set xfile [open $xmlfname w] + set csv [open $csvfname r] + + puts $xfile "" + puts $xfile "" + puts $xfile {} + puts $xfile {} + puts $xfile {} + puts $xfile {} + puts $xfile {} + puts $xfile {Code} + puts $xfile {Text} + puts $xfile {} + puts $xfile {} + puts $xfile {} + + set lineno 0 + while {1} { + incr lineno + set cnt [gets $csv line] + if {$cnt < 0} { + break + } + if {[regexp {([0-9]+)[^\"]*"([^\"]*)"} $line s code msg]} { + puts $xfile {} + puts $xfile {} + puts $xfile $code + puts $xfile {} + puts $xfile $msg + puts $xfile {} + puts $xfile {} + } + } + puts $xfile {} + puts $xfile {} + puts $xfile {} + + close $xfile + close $csv +} + +if {[llength $argv] >= 4} { + set alias {} + if {[llength $argv] >= 5} { + set alias [lindex $argv 4] + } + csvtodiag [list [lindex $argv 0] [lindex $argv 1] [lindex $argv 2]] \ + [lindex $argv 3] $alias +} elseif {[llength $argv] == 3} { + csvto_xml [lindex $argv 0] [lindex $argv 1] [lindex $argv 2] +} \ No newline at end of file