@@ -23,10 +23,20 @@ const (
2323func main () {
2424 flowbase .InitLogInfo ()
2525
26- inFileName := flag .String ("infile" , "" , "The input file name" )
26+ inFileName := flag .String ("in" , "" , "The input file name" )
27+ outFileName := flag .String ("out" , "" , "The output file name" )
2728 flag .Parse ()
29+
30+ doExit := false
2831 if * inFileName == "" {
29- fmt .Println ("No filename specified to --infile" )
32+ fmt .Println ("No filename specified to --in" )
33+ doExit = true
34+ } else if * outFileName == "" {
35+ fmt .Println ("No filename specified to --out" )
36+ doExit = true
37+ }
38+
39+ if doExit {
3040 os .Exit (1 )
3141 }
3242
@@ -72,8 +82,10 @@ func main() {
7282 xmlCreator := NewMWXMLCreator (useTemplates )
7383 pipeRunner .AddProcess (xmlCreator )
7484
75- printer := NewStringPrinter ()
76- pipeRunner .AddProcess (printer )
85+ //printer := NewStringPrinter()
86+ //pipeRunner.AddProcess(printer)
87+ strFileWriter := NewStringFileWriter (* outFileName )
88+ pipeRunner .AddProcess (strFileWriter )
7789
7890 // ------------------------------------------
7991 // Connect network
@@ -760,6 +772,33 @@ func (p *StringPrinter) Run() {
760772 }
761773}
762774
775+ // --------------------------------------------------------------------------------
776+ // String File Writer
777+ // --------------------------------------------------------------------------------
778+
779+ type StringFileWriter struct {
780+ In chan string
781+ fileName string
782+ }
783+
784+ func NewStringFileWriter (fileName string ) * StringFileWriter {
785+ return & StringFileWriter {
786+ In : make (chan string , BUFSIZE ),
787+ fileName : fileName ,
788+ }
789+ }
790+
791+ func (p * StringFileWriter ) Run () {
792+ fh , err := os .Create (p .fileName )
793+ if err != nil {
794+ panic ("Could not create output file: " + err .Error ())
795+ }
796+ defer fh .Close ()
797+ for s := range p .In {
798+ fh .WriteString (s )
799+ }
800+ }
801+
763802// --------------------------------------------------------------------------------
764803// IP: RDFTriple
765804// --------------------------------------------------------------------------------
0 commit comments