On 30/06/2011 12:55, Marianne wrote:
> Ok, now I can use different input files with FullConvert. The code look like
> that if it is of any help for someone:
>
> *-----------------
> string filename ="molfiles/1.mol";
> vector<string> inputfiles;
> inputfiles.push_back(filename);
> filename ="molfiles/2.mol";
> inputfiles.push_back(filename);
> vector<string> outputfiles;
> outputfiles.push_back("test.sdf");
> conv.SetInAndOutFormats("mol","sdf");
> filename="test.sdf";
>
> conv.AddOption("gen3D" "m",conv.GENOPTIONS);
> conv.FullConvert(inputfiles, filename,outputfiles);
> conv.CloseOutFile();
>
> -----------------*
>
> But the question about the possibility to use the wildcard * on the API stay
> in suspend. Is it possible?
>
>
> By checking the code commentary of FullConvert:
>
> Batch Conversion
> Done if FileList has more than one file name and contains a * .
> Each input file is converted to an output file whose name is
> OutputFileName with the * replaced by the inputfile name without its
> path and extension.
> So if the input files were inpath/First.cml, inpath/Second.cml
> and OutputFileName was NEW*.mol, the output files would be
> NEWFirst.mol, NEWSecond.mol.
>
> Seems that it is possible? When I do it, it did not work. I make propably
> somethings wrong or it is only possible with batch interaction?
The interpretation of * as a wildcard character is an operating system
(or shell) function. So it needs platform-dependent code. The expansion
of a filename containing a * to a list of filenames happens on the
commandline for linux and in DLHandler::findFiles(), called from main()
(in obabel.cpp) for Windows. I think this function will work for all
platforms and is what you probably need to use in your code.
The Windows commandline uses * in the output file to indicate a batch
operation. Linux has to use the -m option but obabel then adds a * to
the filename. OBConversion::FullConvert uses the presence of a * in an
output file name as a signal to do a splitting or batch operation.
The "m" in
conv.AddOption("gen3D" "m",conv.GENOPTIONS);
is not doing anything. You need a separate AddOption statement for each
option, and anyway -m is interpreted in obabel and not later in the
conversion process.
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
OpenBabel-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel