File indexing completed on 2024-03-24 03:55:30
0001 /* 0002 This file is part of the kcalcore library. 0003 0004 SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org> 0005 SPDX-FileCopyrightText: 2005 Reinhold Kainhofer <reinhold@kainhofer.com> 0006 0007 SPDX-License-Identifier: LGPL-2.0-or-later 0008 */ 0009 0010 #include "filestorage.h" 0011 #include "memorycalendar.h" 0012 #include "vcalformat.h" 0013 0014 #include <QCommandLineParser> 0015 #include <QCoreApplication> 0016 #include <QDebug> 0017 #include <QFileInfo> 0018 #include <QTimeZone> 0019 0020 using namespace KCalendarCore; 0021 0022 int main(int argc, char **argv) 0023 { 0024 QCommandLineParser parser; 0025 parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("verbose"), QStringLiteral("Verbose output"))); 0026 parser.addPositionalArgument(QStringLiteral("input"), QStringLiteral("Name of input file")); 0027 parser.addPositionalArgument(QStringLiteral("output"), QStringLiteral("Name of output file")); 0028 0029 QCoreApplication app(argc, argv); 0030 QCoreApplication::setApplicationName(QStringLiteral("testvcalexport")); 0031 QCoreApplication::setApplicationVersion(QStringLiteral("0.1")); 0032 parser.process(app); 0033 0034 const QStringList parsedArgs = parser.positionalArguments(); 0035 0036 if (parsedArgs.count() != 2) { 0037 parser.showHelp(); 0038 } 0039 0040 QString input = parsedArgs[0]; 0041 QString output = parsedArgs[1]; 0042 0043 QFileInfo outputFileInfo(output); 0044 output = outputFileInfo.absoluteFilePath(); 0045 0046 qDebug() << "Input file:" << input; 0047 qDebug() << "Output file:" << output; 0048 0049 MemoryCalendar::Ptr cal(new MemoryCalendar(QTimeZone::utc())); 0050 FileStorage instore(cal, input); 0051 0052 if (!instore.load()) { 0053 return 1; 0054 } 0055 0056 FileStorage outstore(cal, output, new VCalFormat); 0057 if (!outstore.save()) { 0058 return 1; 0059 } 0060 0061 return 0; 0062 }