File indexing completed on 2024-04-21 03:48:19

0001 /*
0002  * SPDX-FileCopyrightText: 2007 Jeremy Whiting <jpwhiting@kde.org>
0003  * SPDX-License-Identifier: GPL-2.0-or-later
0004  */
0005 
0006 /** @file
0007  * \brief kvtml document reader/writer
0008  * partly to test the document class, partly to convert
0009  * old kvtml files to the new format
0010  * @author Jeremy Whiting <jpwhiting@kde.org>
0011  */
0012 
0013 #include "keduvocdocument.h"
0014 
0015 #include <KLocalizedString>
0016 #include <QCommandLineParser>
0017 #include <QCoreApplication>
0018 #include <QDebug>
0019 #include <QUrl>
0020 
0021 int main(int argc, char **argv)
0022 {
0023     QCoreApplication::setApplicationName(QStringLiteral("kvtml-converter"));
0024     QCoreApplication::setApplicationVersion(QStringLiteral("0.2"));
0025     QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org"));
0026     QCoreApplication app(argc, argv);
0027 
0028     QCommandLineParser parser;
0029     parser.addHelpOption();
0030     parser.addVersionOption();
0031     QCommandLineOption formatOption(QStringList() << QStringLiteral("f") << QStringLiteral("format"),
0032                                     i18nc("main", "file format to write out (kvtml1, kvtml2, or csv)."));
0033     parser.addOption(formatOption);
0034     parser.addPositionalArgument(QStringLiteral("infile"), i18nc("main", "File to read in."));
0035     parser.addPositionalArgument(QStringLiteral("outfile"), i18nc("main", "File to write to."));
0036 
0037     parser.process(app);
0038 
0039     QStringList files = parser.positionalArguments();
0040 
0041     if (files.count() > 0) {
0042         QUrl infile = QUrl::fromLocalFile(files.at(0));
0043         if (files.count() > 1) {
0044             QUrl outfile = QUrl::fromLocalFile(files.at(1));
0045 
0046             KEduVocDocument document;
0047             qDebug() << "Reading " << infile;
0048             document.open(infile);
0049             qDebug() << "Writing to " << outfile;
0050             if (parser.value(QStringLiteral("f")) == QLatin1String("kvtml1")) {
0051                 document.saveAs(outfile, KEduVocDocument::Kvtml1);
0052             } else if (parser.value(QStringLiteral("f")) == QLatin1String("csv")) {
0053                 document.saveAs(outfile, KEduVocDocument::Csv);
0054             } else {
0055                 document.saveAs(outfile, KEduVocDocument::Kvtml);
0056             }
0057         }
0058     } else {
0059         qDebug() << parser.helpText();
0060     }
0061 
0062     return 0;
0063 }