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 }