File indexing completed on 2025-03-09 03:57:01

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2013-11-28
0007  * Description : a command line tool to get list of files format supported by ExifTool
0008  *
0009  * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 // Qt includes
0016 
0017 #include <QString>
0018 #include <QCoreApplication>
0019 #include <QVariant>
0020 
0021 // Local includes
0022 
0023 #include "digikam_debug.h"
0024 #include "exiftoolparser.h"
0025 
0026 using namespace Digikam;
0027 
0028 int main(int argc, char** argv)
0029 {
0030     QCoreApplication app(argc, argv);
0031 
0032     // Create ExifTool parser instance.
0033 
0034     ExifToolParser* const parser = new ExifToolParser(qApp);
0035     QString ext;
0036     QString desc;
0037     ExifToolParser::ExifToolData parsed;
0038     QStringList lst;
0039 
0040     if (parser->readableFormats())
0041     {
0042         parsed = parser->currentData();
0043         lst    = parsed.find(QLatin1String("READ_FORMATS")).value()[0].toStringList();
0044         qCDebug(DIGIKAM_TESTS_LOG) << "Readable file formats:";
0045 
0046         for (int i = 0 ; i < lst.size() ; i += 2)
0047         {
0048             ext  = lst[i];
0049             desc = lst[i + 1];
0050             qCDebug(DIGIKAM_TESTS_LOG) << ext << desc;
0051         }
0052     }
0053 
0054     if (parser->writableFormats())
0055     {
0056         parsed = parser->currentData();
0057         lst    = parsed.find(QLatin1String("WRITE_FORMATS")).value()[0].toStringList();
0058         qCDebug(DIGIKAM_TESTS_LOG) << "Writable file formats:";
0059 
0060         for (int i = 0 ; i < lst.size() ; i += 2)
0061         {
0062             ext  = lst[i];
0063             desc = lst[i + 1];
0064             qCDebug(DIGIKAM_TESTS_LOG) << ext << desc;
0065         }
0066     }
0067 
0068     return 0;
0069 }